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


Posted in PHP onJanuary 05, 2016

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正则走开
Mar 15 PHP
完美解决PHP中文乱码
Nov 26 PHP
php教程之phpize使用方法
Feb 12 PHP
Fedora下安装php Redis扩展笔记
Sep 03 PHP
php的XML文件解释类应用实例
Sep 22 PHP
PHP中if和or运行效率对比
Dec 12 PHP
php更新mysql后获取改变行数的方法
Dec 25 PHP
PHP实现伪静态方法汇总
Jan 13 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
PHP基于DOMDocument解析和生成xml的方法分析
Jul 17 PHP
php获取手机端的号码以及ip地址实例代码
Sep 12 PHP
php微信公众号开发之二级菜单
Oct 20 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 #PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
Jan 05 #PHP
简单的php+mysql聊天室实现方法(附源码)
Jan 05 #PHP
基于PHP实现简单的随机抽奖小程序
Jan 05 #PHP
详解WordPress开发中的get_post与get_posts函数使用
Jan 04 #PHP
使用PHP实现微信摇一摇周边红包
Jan 04 #PHP
解析WordPress中的post_class与get_post_class函数
Jan 04 #PHP
You might like
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
PHP 杂谈《重构-改善既有代码的设计》之四 简化条件表达式
2012/04/09 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
php基于session锁防止阻塞请求的方法分析
2017/08/07 PHP
重定向实现代码
2006/11/20 Javascript
javascript FormatNumber函数实现方法
2008/12/30 Javascript
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
表单的焦点顺序tabindex和对应enter键提交
2013/01/04 Javascript
javascript实现全局匹配并替换的方法
2015/04/27 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
vue.js入门教程之绑定class和style样式
2016/09/02 Javascript
微信小程序 天气预报开发实例代码源码
2017/01/20 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
python Django的web开发实例(入门)
2019/07/31 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
2019/09/06 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
使用python实现微信小程序自动签到功能
2020/04/27 Python
奖学金自我鉴定范文
2013/10/03 职场文书
情侣吵架检讨书
2014/02/05 职场文书
爱岗敬业事迹材料
2014/12/24 职场文书
医院见习总结
2015/06/24 职场文书
2015年庆祝国庆节66周年演讲稿
2015/07/30 职场文书
Ajax请求超时与网络异常处理图文详解
2021/05/23 Javascript
MySql数据库触发器使用教程
2022/06/01 MySQL