【问题标题】:Wordpress custom search results pageWordpress 自定义搜索结果页面
【发布时间】:2012-08-06 11:39:43
【问题描述】:

我正在尝试创建一个自定义搜索结果页面,该页面不仅可以搜索标题,还可以通过自定义字段进行搜索。 我一直在浏览 codex 中的“创建搜索页面”页面,但由于某种原因,完成的搜索结果使用了新的 searchpage.php 代码。

我所做的是使用以下代码创建 searchform.php 页面:(请注意我已经添加了 page_id=8057,因为我已经使用新的搜索模板添加了一个页面。)

    <form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>?page_id=8057">
  <div><label class="screen-reader-text" for="s">Search for(custom):</label>
    <input type="text" value="" name="s" id="s" />
    <input class="sprites" type="submit" id="searchsubmit" value="Search" />
  </div>
</form>

我已经使用法典给我的默认代码创建了 searchpage.php:

<p>Search Results:</p><BR>
<?php get_search_form(); ?>
       <?php
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);
?>
<?php
global $wp_query;
$total_results = $wp_query->found_posts;
?>

我仍然没有对代码和查询进行调整,但我想首先解决搜索表单没有向我显示 searchpage.php 结果但链接到默认搜索结果页面的问题。 例如,在我完成搜索后,我收到了这个网址:

http://localhost/?s=mysearchquery

知道如何开始吗?

谢谢

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    searchpage.php 是一个搜索页面替代,如果你想创建一个搜索结果页面,你需要创建 search.php 文件。

    【讨论】:

      【解决方案2】:

      您必须在 searchpage.php 文件的顶部添加以下行

      /*
       * Template Name: Search Results Page
       * Description: Whatever you want to write here.
       */
      

      现在,转到管理面板并创建一个新页面并为其命名,并从右侧的页面属性部分分配“搜索结果页面”模板。不要向页面添加任何内容。

      现在,尝试搜索,它应该可以工作。

      注意:如果用户在搜索框中“输入”了某些内容并按回车键,他将不会登陆此页面。默认情况下,此操作将 将他重定向到 search.php 页面。你只能登陆 searchpage.php 当用户点击带有 url 的“超链接”时 作为

      <?php echo home_url( '/' ); ?>?page_id=8057
      

      【讨论】:

        猜你喜欢
        • 2021-02-03
        • 2019-02-25
        • 1970-01-01
        • 1970-01-01
        • 2015-10-03
        • 1970-01-01
        • 2015-07-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多