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截取汉字乱码问题解决方法mb_substr函数的应用
Mar 30 PHP
mysql5的sql文件导入到mysql4的方法
Oct 19 PHP
PHP判断文章里是否有图片的简单方法
Jul 26 PHP
php实现转换ubb代码的方法
Jun 18 PHP
php实现的农历算法实例
Aug 11 PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 PHP
php实现遍历文件夹的方法汇总
Mar 02 PHP
php遍历目录下文件并按修改时间排序操作示例
Jul 12 PHP
PHP生成zip压缩包的常用方法示例
Aug 22 PHP
php连接sftp的作用以及实例代码
Sep 23 PHP
PHP单元测试配置与使用方法详解
Dec 27 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 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 OPP机制和模式简介(抽象类、接口和契约式编程)
2014/06/09 PHP
PHP大批量插入数据库的3种方法和速度对比
2014/07/08 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
Javascript中定义方法的另类写法(批量定义js对象的方法)
2011/02/25 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
javascript中RegExp保留小数点后几位数的方法分享
2013/08/13 Javascript
js string 转 int 注意的问题小结
2013/08/15 Javascript
jQuery中scrollLeft()方法用法实例
2015/01/16 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
JavaScript解析JSON格式数据的方法示例
2017/01/24 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
vue中watch和computed为什么能监听到数据的改变以及不同之处
2019/12/27 Javascript
微信小程序实现限制用户转发功能的实例代码
2020/02/22 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
详解Python中的序列化与反序列化的使用
2015/06/30 Python
Python实现PS滤镜特效之扇形变换效果示例
2018/01/26 Python
python模块smtplib学习
2018/05/22 Python
Python QTimer实现多线程及QSS应用过程解析
2020/07/11 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
2020/12/05 Python
印度网上药店:1mg
2017/10/13 全球购物
联想新西兰官方网站:Lenovo New Zealand
2018/10/30 全球购物
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
.NET初级开发工程师面试题
2014/04/18 面试题
雷人标语集锦
2014/06/19 职场文书
欢迎标语大全
2014/06/21 职场文书
工作表扬信范文
2015/01/17 职场文书
2015年客房服务员工作总结
2015/05/15 职场文书
生活小常识广播稿
2015/08/19 职场文书
《平移和旋转》教学反思
2016/02/19 职场文书
MySQL获取所有分类的前N条记录
2021/05/07 MySQL
python_tkinter事件类型详情
2022/03/20 Python