Pre_Get_Post根本不触发

时间:2014-10-28 作者:John Halsey

我正在尝试将自定义帖子类型添加到seach工具中,以便它搜索这些帖子以及网站上的页面。

我已经看到了pre\\u get\\u posts功能,并在我的主题功能中进行了如下设置。php文件,但它根本没有启动。我将get\\u current\\u screen()函数放在那里进行测试,但它不返回任何内容。

function searchAll($query) {
  if ( !is_admin() && $query->is_main_query() ) {
    if ($query->is_search) {
      $query->set(\'post_type\', array( \'post\', \'movie\' ) );
    }
  }
}

add_action(\'pre_get_posts\',\'searchAll\');
我还尝试设置$query->数组(\'post\\u type\',数组(\'post\',movie\');任何if语句中都没有行,但什么都没有发生。我做错了什么?

请帮忙!

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

尝试将其添加到函数中。php。

function my_custom_get_posts( $query ) {
  if ( is_admin() || ! $query->is_main_query() )
    return;

  if ( $query->is_search() ) {
    $query->set( \'post_type\', array( \'post\', \'movie\' ) );
  }

}
add_action( \'pre_get_posts\', \'my_custom_get_posts\', 1 );
同时确保您没有任何其他pre_get_posts 覆盖此函数效果的操作。

结束

相关推荐

有没有办法阻止WP编辑删除<gcse:earchbox-only></gcse:search box>

我想将我的谷歌自定义网站搜索代码粘贴到编辑器中,以显示在我的一个页面上。当粘贴到“文本”侧时,它会起作用,但如果我切换到“视觉”,get会变成一个NBSP有没有办法让我<gcse:searchbox-only></gcse:searchbox-only> 编辑是否得体?