我的网站上有一个Wiki部分,我想将WordPress的原生搜索修改为只搜索此Wiki中的页面,或者换句话说,只修改页面#278的子页面。 我成功地用wp_list_pages和参数'child_of'列出了给定页面的子页面,所以我一直在尝试这样的东西。到目前为止两次尝试: 在搜索页面中......
<?php if ( have_posts(array('child_of'=>278)) ) : ?>
...
<?php while ( have_posts(array('child_of'=>278)) ) : the_post(array('child_of'=>278)) ?>
或者在我的函数文件中......
function SearchWikiPages($query) {
if ($query->is_search) {
$query->query_vars['child_of']=278;
}
return $query;
}
add_filter('pre_get_posts','SearchWikiPages');
到目前为止没有运气。如果有人知道我该怎么做,请帮忙。我不会反对使用插件或任何其他创造性的解决方案,如果它得到我需要的。
谢谢!
答案 0 :(得分:0)
你的方法应该有效;问题似乎是使用child_of
。我认为参数WP_Query
无法理解(the Codex中未提及)。
更换
$query->query_vars['child_of']=278;
与
$query->set('post_parent', 278);
为我工作。