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的中问验证码
Nov 25 PHP
php中的路径问题与set_include_path使用介绍
Feb 11 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
Mar 14 PHP
3款值得推荐的微信开发开源框架
Oct 28 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
Dec 15 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
Nov 24 PHP
php 判断过去离现在几年的函数(实例代码)
Nov 15 PHP
php使用curl代理实现抓取数据的方法
Feb 03 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
Oct 24 PHP
Laravel框架集合用法实例浅析
May 14 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相关资料
2006/10/09 PHP
php 购物车的例子
2009/05/04 PHP
PHP 函数学习简单小结
2010/07/08 PHP
php preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
PHP运行模式的深入理解
2013/06/03 PHP
关于使用key/value数据库redis和TTSERVER的心得体会
2013/06/28 PHP
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2013/01/02 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
基于jQuery实现音乐播放试听列表
2016/04/14 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
Sequelize中用group by进行分组聚合查询
2016/12/12 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
2019/06/03 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
python网络爬虫采集联想词示例
2014/02/11 Python
Python基础之函数用法实例详解
2014/09/10 Python
Python操作串口的方法
2015/06/17 Python
Python实现简单拆分PDF文件的方法
2015/07/30 Python
利用Python实现颜色色值转换的小工具
2016/10/27 Python
Python字典循环添加一键多值的用法实例
2019/01/20 Python
python读取csv和txt数据转换成向量的实例
2019/02/12 Python
Python 学习教程之networkx
2019/04/15 Python
FFT快速傅里叶变换的python实现过程解析
2019/10/21 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
2020/05/25 Python
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
2013/04/07 面试题
安全生产责任书范本
2014/04/15 职场文书
党员进社区活动总结
2015/05/07 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
基于Go Int转string几种方式性能测试
2021/04/28 Golang
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android