仅在搜索结果中显示特定页面的子页面

时间:2013-01-06 作者:user1077369

堆叠交换器!

我已经在互联网上搜索了左右和中间,但仍然找不到改变显示的搜索结果的方法。基本上,我不希望在我的WP站点的搜索结果中显示任何帖子和此父页面的唯一子页面:

http://universitycompare.com/university-guide/

否则,如果没有显示这些页面,则会显示空结果。

非常感谢您提供的任何帮助/指导,我确实尝试从这里、论坛和webdev朋友那里收集了尽可能多的信息,但我完全被困了,所以我求助于StackExchange。

希望这不是太宽泛,你理解我几天来一直在试图弄清楚什么,否则,请询问你需要什么,我可以提供什么。

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

尝试以下方法。

使用获取页面get_page_by_path()

http://codex.wordpress.org/Function_Reference/get_page_by_path

$page = get_page_by_path( \'university-guide\' );

$search_query[\'post_type\'] = \'page\';
$search_query[\'post_parent\'] = $page->ID;
以下片段摘自Codex页面:创建搜索表单http://codex.wordpress.org/Creating_a_Search_Page

global $query_string;

$query_args = explode("&", $query_string);
$search_query = array();

foreach($query_args as $key => $string) {
    $query_split = explode("=", $string);
    $search_query[$query_split[0]] = urldecode($query_split[1]);
} // foreach

$search = new WP_Query($search_query);
使用WP\\U查询实例获取搜索结果。

您可以使用WP\\u Query codex页面了解有关可用选项的更多信息。https://codex.wordpress.org/Class_Reference/WP_Query

结束

相关推荐

Remove some pages from search

在我的网站上,我希望一些页面不能通过搜索表单进行查询(这样当我有类似www.ex.com/?s=banana的内容时,它们就不会出现)有没有一种方法可以从搜索结果页面中“删除”页面(而不是盲目地执行if Is\\u page(id),display:none的条件)