get_search_form 函數(shù)在 WordPress 中是用來提取預設(shè)的搜索表單或者默認的搜索表單的。
語法結(jié)構(gòu)
<?php get_search_form($echo = true) ?>
參數(shù)
$echo 布爾型,參數(shù)是可選的,如果是
true
則顯示表單,如果是false則會返回一個字符串,默認是true。
實例
如果主題目錄里沒有searchform.php這個文件,那么WordPress將默認使用內(nèi)置的搜索表單,其格式為
<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這個文件,那么WordPress就會使用指定的搜索表單模版。注意,搜索表單應該使用get方法指向主頁,文本域的name應該是s,這是一個自定義searchform.php的例子:
<form action="/" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
<label for="search">Search</label>
<input type="text" name="s" id="search" value="<?php the_search_query(); ?>" />
<input type="image" alt="Search" src="/uploads/img/<?php bloginfo( 'template_url' ); ?>/images/search.png" />
</form>
如果不想用這種方法自定義搜索表單,還可以使用get_search_form鉤子進行搜索表單的添加
function change_search_form( $form ) {
$form = '<form role="search" method="get" class="search-form" action="' . esc_url( home_url( '/' ) ) . '">
<label>
<span class="screen-reader-text">' . _x( 'Search for:', 'label' ) . '</span>
<input type="search" class="search-field" placeholder="' . esc_attr_x( 'Search for:', 'placeholder' ) . '" value="' . get_search_query()
. '" name="s" title="' . esc_attr_x( 'Search for:', 'label' ) . '" />
</label>
<input type="submit" class="search-submit" value="' . esc_attr_x( 'Search', 'submit button' ) .'" /></form>';
return $form;
}
add_filter( 'get_search_form', 'change_search_form' );
這三種表單的級別從大到小依次是鉤子方法>searchform.php>默認搜索表單