![](/img/trans.png)
[英]exclude get_search_form from head of a certain page in Wordpress
[英]Why does <?php get_search_form(); ?> results in a blank page?
我正在嘗試在我的博客頁面上實現搜索功能(該網站是從頭開始構建的,未使用 WordPress 主題)。
我添加了這行代碼<div class="search-blog"><?php get_search_form(); ?></div>
<div class="search-blog"><?php get_search_form(); ?></div>
到我的 archive.php 文件。 我還使用在網上找到的示例代碼將 searchform.php 文件添加到我的主題目錄中。 這里是:
<?php /* Template Name: Blog */ ?>
<?php include 'header.php'; ?>
<form role="search" method="get" class="search-form" action="<?php echo home_url( '/' ); ?>">
<label>
<span class="screen-reader-text"><?php echo _x( 'Search for:', 'label' ) ?></span>
<input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Search Blog Posts', 'placeholder' ) ?>" value="<?php echo get_search_query() ?>" name="s" title="<?php echo esc_attr_x( 'Search for:', 'label' ) ?>" />
</label>
<input type="submit" class="search-submit" value="<?php echo esc_attr_x( ' >', 'submit button' ) ?>" />
</form>
<?php include 'footer.php'; ?>
但是,當我在搜索框中輸入搜索詞時,我得到一個空白頁面,僅顯示頁腳。 為什么? 我做了一些研究,並將 search.php 添加到主題目錄中(一些建議 search.php 需要實際顯示搜索結果)。 但這讓事情變得更糟,因為博客頁面根本無法加載。
我不確定我在這里做錯了什么。 任何幫助將不勝感激!
您可以使用 get_header() function 而不是包含 header 再試一次嗎?
出色地
<?php /* Template Name: Blog */ ?>
<?php include 'header.php'; ?>
這里而不是第 2 行
<?php get_header(); ?>
你能用這個嗎?
最后一個被忽視的變化;
<?php /* Template Name: Blog */ ?>
<?php get_header(); ?>
<form role="search" method="get" class="search-form" action="<?php echo home_url( '/' ); ?>">
<label> <span class="screen-reader-text"><?php echo _x( 'Search for:', 'label' ) ?></span>
<input type="text" class="search-field" placeholder="<?php echo esc_attr_x( 'Search Blog Posts', 'placeholder' ) ?>" value="<?php echo get_search_query() ?>" name="s" title="<?php echo esc_attr_x( 'Search for:', 'label' ) ?>" /</label>
<input type="submit" class="search-submit" value="<?php echo esc_attr_x( ' >', 'submit button' ) ?>" />
</form>
<?php get_footer(); ?>
搜索詞文本框類型必須是“文本”
使用以下代碼在名為searchform.php
的主題中添加一個文件
<form role="search" method="get" class="search-form" action="<?php echo home_url( '/' ); ?>">
<label>
<span class="screen-reader-text"><?php echo _x( 'Search for:', 'label' ) ?></span>
<input type="search" class="search-field" placeholder="<?php echo esc_attr_x( 'Search Blog Posts', 'placeholder' ) ?>" value="<?php echo get_search_query() ?>" name="s" title="<?php echo esc_attr_x( 'Search for:', 'label' ) ?>" />
</label>
<input type="submit" class="search-submit" value="<?php echo esc_attr_x( ' >', 'submit button' ) ?>" />
</form>
然后單獨創建一個名為search.php
的文件,其中包含以下內容:
<?php get_header(); ?>
<?php //this prints out your search form
get_search_form(); ?>
<h1 class="page-title search-page-title">
search results for <?php echo get_search_query(); ?>
</h1>
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php the_title(); ?>
<?php endwhile; ?>
<?php else: ?>
No results for "<?php echo get_search_query(); ?>
<?php endif; ?>
<?php get_footer(); ?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.