我正在制作《创世纪》儿童主题的静态头版。此首页包含一个搜索框,该搜索框仅设置“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你知道我如何设置它,以便在搜索时始终使用当前页面的常规页面模板吗?