1
我有我的網站上的維基節,我想修改WordPress的本地搜索,只搜索此維基頁面,或換句話說,只有#278頁的孩子。 我成功地用wp_list_pages和參數'child_of'列出給定頁面的子頁面,所以我一直在嘗試這樣的事情。兩次嘗試至今: 在搜索頁面...WordPress的 - 使搜索只搜索特定頁面的兒童
<?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');
所以沒有運氣遠。如果有人知道我可以怎麼做,請幫助。我不會反對使用插件,或任何其他創意解決方案,如果它得到我需要的。 謝謝!
嗯 - 看起來像'child_of'抓住所有的後代,'post_parent'只抓住直接的孩子。可能需要做兩件事 - 獲取所有的後代,然後使用那些與你的條件(例如'post_in' – Hobo 2012-07-27 11:57:40
嗯,你是什麼意思?我是否仍然在我的函數文件中編輯過濾器?只需創建一個變量來存儲頁面278的所有後代,並調用我在哪裏調用set('post_parent',278)? – russtuck91 2012-07-30 19:17:53
對不起,是的 - 仍然在你的函數文件中的過濾器。創建一個存儲頁面278所有後裔的變量(比如'$ descendants'),然後使用'$ query-> set('post__in',$ descendants);'而不是'post_parent'行。當然,如果你沒有多層次的頁面,'post_parent'應該可以正常工作。 – Hobo 2012-07-30 21:25:47