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 expects parameter 1 to be resource, array given 错误
Mar 23 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
Jul 31 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
Jun 13 PHP
php常用ODBC函数集(详细)
Jun 24 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Jun 25 PHP
smarty实现多级分类的方法
Dec 05 PHP
学习php设计模式 php实现策略模式(strategy)
Dec 07 PHP
PHP封装的数据库保存session功能类
Jul 11 PHP
php redis实现对200w用户的即时推送
Mar 04 PHP
弹出模态框modal的实现方法及实例
Sep 19 PHP
php实现对文件压缩简单的方法
Sep 29 PHP
详解PHP Swoole与TCP三次握手
May 27 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 命令行参数详解及应用
2011/05/18 PHP
PHP中的按位与和按位或操作示例
2014/01/27 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
ThinkPHP权限认证Auth实例详解
2014/07/22 PHP
php中__toString()方法用法示例
2016/12/07 PHP
自制PHP框架之设计模式
2017/05/07 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
解决jQuery插件tipswindown与hintbox冲突
2010/11/05 Javascript
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
2015/12/25 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
vue 做移动端微信公众号采坑经验记录
2018/04/26 Javascript
让Vue也可以使用Redux的方法
2018/05/23 Javascript
javascript事件监听与事件委托实例详解
2019/08/16 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
Python 除法小技巧
2008/09/06 Python
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
Python WSGI的深入理解
2018/08/01 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
2018/12/15 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
python爬虫增加访问量的方法
2019/08/22 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
社区科普工作方案
2014/06/03 职场文书
食品工程专业求职信
2014/06/15 职场文书
法制教育演讲稿
2014/09/10 职场文书
老人院义工活动感想
2015/08/07 职场文书
Go语言实现Snowflake雪花算法
2021/06/08 Golang