Wordpress:如何仅为特定页面创建自定义搜索表单

时间:2016-09-27 09:55:19

标签: php wordpress

如何创建仅应出现在特定网页上的自定义搜索表单?

  1. 使用此<?php get_search_form(); ?>将wordpress的默认搜索表单插入页面。

  2. 添加此

  3.   

    searchform.php

    到我的主题文件夹会覆盖整个网站的搜索功能

    我想添加一个搜索表单,该表单仅显示特定类型的自定义帖子类型的帖子

    表单应仅出现在特定页面中。(因此其他页面中的搜索表单不应受此影响)

    如何实现这一目标。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

请勿修改searchform.php,因为您要使用默认搜索其他页面。以下html代码将为您创建自定义表单。只需将代码粘贴到模板中,即可获得自定义搜索表单。

Old File: EMIA_001
Version number: 1.0.6113.27965

New File: EMIA_001
Version number: 1.0.6114.20817

假设您的自定义帖子类型是&#39; books&#39;。默认情况下,您的搜索结果将使用search.php文件。因此,我们将检查值是否为书籍,然后我们将加载用books-search.php编写的自定义搜索查询。否则你可以加载现有的代码是search.php。

search.php 文件中:

    <form method="get" id="searchform" action="<?php bloginfo('home'); ?>/">
        <input type="text" value="" name="s" id="s" />
        <input type="hidden" name="search-type" value="books" />
        <input name="submit" type="submit" value="Go" />
    </form>

现在在 books-search.php 中使用:

if(isset($_GET['search-type'])) {
    $type = $_GET['search-type'];
    if($type == 'books') {
        load_template(TEMPLATEPATH . '/books-search.php');
    }
}else{
 // Your current code
}

这将仅搜索书籍类型。