簡體   English   中英

WordPress:如何僅對特定頁面創建自定義搜索表單

[英]Wordpress: How to create a custom search form only to a specific page

如何創建僅顯示在特定頁面上的自定義搜索表單?

  1. 使用此<?php get_search_form(); ?> <?php get_search_form(); ?>將WordPress的默認搜索表單插入頁面。

  2. 加上這個

searchform.php

我的主題文件夾覆蓋了整個網站的搜索功能

我想添加一個搜索表單,該表單僅顯示特定類型的自定義帖子類型的帖子

該表單應僅出現在特定頁面中。(因此,其他頁面中的搜索表單將不受此影響)

請如何實現這一目標。 任何幫助深表感謝。

不要修改searchform.php,因為要對其他頁面使用默認搜索。 下面的html代碼將為您創建一個自定義表單。 只需將代碼粘貼到模板中,即可獲得自定義搜索表單。

    <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>

假設您的自定義帖子類型為“書籍”。 默認情況下,您的搜索結果將使用search.php文件。 因此,我們將檢查值是否為books,然后將加載編寫在books-search.php中的自定義搜索查詢。 否則,您可以加載search.php中存在的現有代碼。

在您的search.php文件中:

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

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

$args = array( 'post_type' => 'books' );
$args = array_merge( $args, $wp_query->query );
query_posts( $args );

這將僅搜索書籍帖子類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM