如何使用常规页面模板显示搜索结果?

时间:2017-03-16 作者:Ruben

我正在制作《创世纪》儿童主题的静态头版。此首页包含一个搜索框,该搜索框仅设置“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=foohttp://baseurl/mypage/?search=foo

你知道我如何设置它,以便在搜索时始终使用当前页面的常规页面模板吗?

1 个回复
SO网友:Abdul Awal Uzzal

我认为您可以对搜索表单进行一些更改,使其提交到另一个页面url而不是主页。类似于http://baseurl/search-results/?search=foo 其中,搜索结果将是页面模板的一部分。

相关推荐

Media searching ignored

我们的网站使用WordPress,有很多媒体文件。我们网站的媒体名称格式如下[Car brand\'s name]-[number].jpg, 例如Tesla-1.jpg 或Aston Martin-3.jpg. 因此,我们可以通过搜索文章的名称轻松找到文章的特定媒体。但突然间,我们找不到媒体。我们正在尝试搜索名称为的媒体,但搜索结果不变。(不搜索任何内容时的媒体屏幕)(搜索Aston Martin时的媒体屏幕)当然,在填充搜索文本框后,它会显示一个加载图标,但结果总是一样的。为什么会发生这种情况?更新+