首页 > 网站 > 建站经验 > 正文

WordPress中用于获取搜索表单的PHP函数使用解析

2024-04-25 20:43:50
字体:
来源:转载
供稿:网友

 

get_search_form 函数在 WordPress 中是用来提取预设的搜索表单或者默认的搜索表单的。因为官方这个函数没有中文的,所以我就简单写了一下。

描述

get_search_form 函数在 WordPress 中是用来提取自定义搜索表单或者默认的搜索表单的。

显示自定义表单还是显示默认表单,完全取决于您的主题中是否有search.php文件,

如果有该文件,则自动调用该文件,如果没有则显示默认的搜索表单。

使用

<?php

get_search_form($echo = true)

?>

参数

$echo 布尔型,用来选择显示还是返回变量。

默认值:true

实例

没你想象的复杂,其实就是这么简单。

<?php

get_search_form();

?>

这里提一下,如果你需要整合谷歌自定义搜索那些的话,

你只要在你的search.php 文件中将自定义的部分代码放入即可喽,当然你需要设定样式。

函数源代码

<?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);

}

?>

以上就是本文章的内容,希望对大家有所帮助

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表