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

yipeiwu_com6年前PHP代码库

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

相关文章

详细解读PHP中接口的应用

接口 PHP类是单继承,也就是不支持多继承,当一个类需要多个类的功能时,继承就无能为力了,为此PHP引入了接口技术 如果一个抽象类里面的所有方法都是抽象方法,且没有声明变量,而且接口里面...

PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】

PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】

本文实例讲述了PHP ADODB生成HTML表格函数rs2html功能。分享给大家供大家参考,具体如下: 一、代码 adodb.inc.php可从官方网站http://adodb.sou...

PHP开发入门教程之面向对象

PHP是弱变量的脚本语言,也就是说你无需先定义,这一点很灵活。也可以给予很大的自由度,但对于程序来说,自由并非好事。  因为给予后期维护人员阅读带来很大的麻烦。  下面来进入我们第一个程...

php中使用getimagesize获取图片、flash等文件的尺寸信息实例

如果你还想着通过解析swf文件头信息来获取flash文件的尺寸信息,那真的有点走远了。因为从PHP 4开始已经内置getimagesize函数来做这个事。其功能测定任何 GIF,JPG,...

配置eAccelerator和XCache扩展来加速PHP程序的执行

配置eAccelerator和XCache扩展来加速PHP程序的执行

eaccelerator安装配置PHP加速 eAccelerator简介 eAccelerator是一个的免费、开源的PHP模块,它能够为提供PHP加速、优化、加码、和动态内容缓存功能。...