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

网络编程 2021-07-05 09:09www.168986.cn编程入门
这篇文章主要介绍了WordPress中用于获取搜索表单的PHP函数使用解析,即get_search_form函数的基本用法,需要的朋友可以参考下

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

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by