Wordpress - 使搜索仅搜索特定页面的子项

时间:2012-07-25 16:21:12

标签: wordpress search plugins

我的网站上有一个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');
到目前为止没有运气。如果有人知道我该怎么做,请帮忙。我不会反对使用插件或任何其他创造性的解决方案,如果它得到我需要的。 谢谢!

1 个答案:

答案 0 :(得分:0)

你的方法应该有效;问题似乎是使用child_of。我认为参数WP_Query无法理解(the Codex中未提及)。

更换

$query->query_vars['child_of']=278;

$query->set('post_parent', 278);

为我工作。