我正在制作《创世纪》儿童主题的静态头版。此首页包含一个搜索框,该搜索框仅设置“search”查询变量。因此它重定向到:http://baseurl/?search=foo
我正在处理页面模板中的搜索查询变量,因为我需要进行一些自定义查询:
<?php
$searchParam = get_query_var(\'search\', null);
$query_params = [
\'post_type\' => \'any\',
\'category_name\' => \'stories\',
\'orderby\' => \'date\',
\'posts_per_page\' => 8,
\'paged\' => 1,
\'post_status\' => \'publish\',
\'post__not_in\' => get_option( \'sticky_posts\' ),
\'ignore_sticky_posts\' => 1,
];
if ($searchParam) {
$query_params[\'s\'] = $searchParam;
}
$result = new WP_Query( $query_params );
... etc ...
?>
The problem
当这个页面被设置为首页并且我正在进行搜索时,我得到的是一个基本的搜索结果页面,而我的自定义页面模板没有被使用。当我将头版改为另一页时,它确实按预期工作。这似乎与URL方案有关,因为如果它是首页,则搜索URL类似:
http://baseurl/?search=foo当它不是头版时,它就像:http://baseurl/mypage/?search=foo你知道我如何设置它,以便在搜索时始终使用当前页面的常规页面模板吗?