來源于:
https://www.wpdaxue.com/get_search_form.html
描述
引入 searchform.php 文件來顯示搜索表單。
用法
<?php get_search_form( $echo ); ?>
參數
$echo
(布爾值) (可選) 如果是 true 則輸出表單; false 則返回表單的字符串。默認: true
返回值
(字符串string)?
如果參數 $echo 設置為 false,就返回表單的HTML代碼。
例子
如果你的主題沒有 searchform.php, WordPress 將使用其內置的搜索表單:
<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
<div><label class="screen-reader-text" for="s">Search for:</label>
<input type="text" value="" name="s" id="s" />
<input type="submit" id="searchsubmit" value="Search" />
</div>
</form>
如果你的主題沒有 searchform.php ,將自動使用上面的代碼替代。請記住,搜索表單需要一個 Get 方式(method="get" )到你博客的首頁,而且文本輸入框應該被命名為 s (name="s"),此外,還必須向上面的例子一樣包含 alabel 。
一個自定義的 searchform.php 例子:
<form action="/" method="get">
<fieldset>
<label for="search">Search in <?php echo home_url( '/' ); ?></label>
<input type="text" name="s" id="search" value="<?php the_search_query(); ?>" />
<input type="image" alt="Search" src="<?php bloginfo( 'template_url' ); ?>/images/search.png" />
</fieldset>
</form>
最后一個選項是寫一個自定義的函數(在你的 functions.php 文件中)和通過鉤子掛載這個函數到 theget_search_form 這個動作鉤子。
function my_search_form( $form ) {
?
$form = '<form role="search" method="get" id="searchform" action="' . home_url( '/' ) . '" >
<div><label class="screen-reader-text" for="s">' . __('Search for:') . '</label>
<input type="text" value="' . get_search_query() . '" name="s" id="s" />
<input type="submit" id="searchsubmit" value="'. esc_attr__('Search') .'" />
</div>
</form>';
?
return $form;
}
?
add_filter( 'get_search_form', 'my_search_form' );
注釋
searchform.php 存在時,$echo 參數將被忽略。一個解決辦法是使用 get_search_form 過濾器(filter)來使表單通過 get_search_form() 。(A workaround is to pass the form to get_search_form() through the get_search_form filter.)
所在文件
get_search_form() 包含在 wp-includes/general-template.php.
相關函數
get_header(), get_footer(), get_sidebar(), get_template_part(), comments_template()