我有一段代码,在用户第一次访问时显示横幅,然后设置一个cookie,防止再次显示。
但是,如果页面有404错误,则请求的资源的404页面将设置cookie,并且不会显示横幅。正在检查is_404()
在init钩子上不能避免这种情况。
那么,如何纠正这个问题并检测init挂钩上的404呢?
我有一段代码,在用户第一次访问时显示横幅,然后设置一个cookie,防止再次显示。
但是,如果页面有404错误,则请求的资源的404页面将设置cookie,并且不会显示横幅。正在检查is_404()
在init钩子上不能避免这种情况。
那么,如何纠正这个问题并检测init挂钩上的404呢?
posts_selection
hook已经运行(根据codex),这发生在pre_get_posts
之后很久init
.因此,在请求的稍后阶段设置cookie,而不是尝试更早地检测404,这难道不容易吗(我不知道怎么做)?
这个wp
例如,行动应该足够早
如果我理解正确,您基本上应该能够在请求的最后设置cookie,因为它只与以下请求相关。
WP_Query
) 公共“查询类型”布尔属性,默认设置为false
(参见wp-includes/query.php, Lines 1008 ff. [as of 3.5.1]).WP_Query
\'sparse_query
方法,该方法在pre_get_posts
(参见wp-includes/query.php, Lines 1907 ff. [as of 3.5.1]).因此,尽管《法典》提出了不同的建议,但条件标签实际上已经可以在pre_get_posts
回调
但肯定不会更早-init
这是不可能的。