Wordpress自定义搜索结果页面

时间:2012-08-09 09:13:15

标签: wordpress

我试图创建一个自定义搜索结果页面,不仅搜索标题,还搜索自定义字段。 我一直在编写代码中的“创建搜索页面”页面,但出于某种原因,搜索结果使用了新的 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>

我已经使用codex给我的默认代码创建了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

任何想法是如何开始的?

谢谢

2 个答案:

答案 0 :(得分:1)

searchpage.php是搜索页面的替代方案,如果要创建搜索结果页面,则需要创建search.php文件。

答案 1 :(得分:0)

您必须在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