get_search_form 函数在 WordPress 中是用来提取预设的搜索表单或者默认的搜索表单的。因为官方这个函数没有中文的,所以我就简单写了一下。
描述
get_search_form 函数在 WordPress 中是用来提取自定义搜索表单或者默认的搜索表单的。
显示自定义表单还是显示默认表单,完全取决于您的主题中是否有search.php文件,
如果有该文件,则自动调用该文件,如果没有则显示默认的搜索表单。
使用
1
2
3
|
<?php
get_search_form( $echo = true)
?>
|
参数
$echo 布尔型,用来选择显示还是返回变量。
默认值:true
实例
没你想象的复杂,其实就是这么简单。
1
2
3
|
<?php
get_search_form();
?>
|
这里提一下,如果你需要整合谷歌自定义搜索那些的话,
你只要在你的search.php 文件中将自定义的部分代码放入即可喽,当然你需要设定样式。
函数源代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
<?php
/**
* Display search form.
*
* Will first attempt to locate the searchform.php file in either the child or
* the parent, then load it. If it doesn't exist, then the default search form
* will be displayed. The default search form is HTML, which will be displayed.
* There is a filter applied to the search form HTML in order to edit or replace
* it. The filter is 'get_search_form'.
*
* This function is primarily used by themes which want to hardcode the search
* form into the sidebar and also by the search widget in WordPress.
*
* There is also an action that is called whenever the function is run called,
* 'get_search_form'. This can be useful for outputting JavaScript that the
* search relies on or various formatting that applies to the beginning of the
* search. To give a few examples of what it can be used for.
*
* @since 2.7.0
* @param boolean $echo Default to echo and not return the form.
*/
function get_search_form( $echo = true) {
do_action( 'get_search_form' );
$search_form_template = locate_template( 'searchform.php' );
if ( '' != $search_form_template ) {
require ( $search_form_template );
return ;
}
$form = '<form role="search" method="get" id="searchform" action="' . esc_url( 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>';
if ( $echo )
echo apply_filters( 'get_search_form' , $form );
else
return apply_filters( 'get_search_form' , $form );
}
?>
|