WP::IS_MAIN_QUERY()不工作

时间:2015-07-22 作者:Zero Burnner

我试图在使用此代码的posts容器之前添加一些内容

add_action( \'wp\', \'mainFunc\' );
function mainFunc( $query ) {
    if ( is_home() && $query->is_main_query()) {
        add_action("loop_start","anotherFunc");
    }
}
我还有另一个func()。

但我明白

致命错误:调用C:\\xampp\\htdocs\\WP\\WP content\\plugins\\topMessage\\topMessage中未定义的方法WP::is\\u main\\u query()。php在线40

有什么想法吗?

1 个回复
最合适的回答,由SO网友:Nicolai Grossherr 整理而成

错误的钩子,因为传递给wp

当前WordPress环境实例

WP\\U查询实例

例如,将其传递给loop_start.

实际上,您可以在挂接到的函数回调中进行检查loop_start.

编辑/注释:

你本可以这么做的global $wp_query; 内部wp 胡克,这实际上是第一个$wp_query 是有可能的,但我不建议这样做。一个更好的地方——或者至少是我可能会去的地方——是pre_get_posts 操作,但会通过$query - 这个WP_Query 对象-通过引用。

结束

相关推荐

GET_POSTS()函数的内存问题

我在现有代码中遇到了一个致命错误,当我深入调试时,我发现它来自下面的代码行。get_posts( array(\"posts_per_page\"=>-1) ); 有人能解释为什么会这样以及如何克服它吗?错误:Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in /var/www/web0/html/blog/wp-includes/wp-db.php on