×

WordPress模板标签:get_search_form

优畅主题 Wordpress前端 2015-02-25 09:56 3,276 0 条评论

概述

显示主题目录下的searchform.php模版文件

用法

<?php get_search_form($echo); ?>

传入参数

$echo

(布尔值) (可选的) 值为真(true)时直接输出表单;值为假(false)时输出将表单以字符串的形式输出。
默认值:真

返回值

(字符串)

如果$echo为假(false)时表单将以HTML字符串形式输出。

例子

如果你没有在主题目录下建立searchform.php文件,WordPress将调用默认的搜索表单。

<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
<div><label class="screen-reader-text" for="s">Search for:</label>
<input type="text" value="" name="s" id="s" />
<input type="submit" id="searchsubmit" value="Search" />
</div>
</form>

以上表单适用于HTML4网站。如果你的主题支持HTML5,而且使用了add_theme_support(‘html5′, array(‘search-form’)),WordPress将输出以下表单,以下表单例子来自WordPress 3.6。

<form role="search" method="get" class="search-form" action="<?php echo home_url( '/' ); ?>">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Search …" value="" name="s"title="Search for:" />
</label>
<input type="submit" class="search-submit" value="Search" />
</form>

以上HTML5代码和HTML4代码的区别是,class=”search-form”同时type=”search”而不是type=”text”,这意味着不再需要用JavaScript来显示占位符。如果你的主题目录下有searchform.php,将调用这个文件。如果没有,将显示如上例子。

下面是一个searchform.php的例子

<form action="/" method="get">
<fieldset>
<label for="search">Search in <?php echo home_url( '/' ); ?></label>
<input type="text" name="s" id="search" value="<?php the_search_query(); ?>" />
<input type="image" alt="Search" src="<?php bloginfo( 'template_url' ); ?>/images/search.png" alt="WordPress模板标签:get_search_form" />
</fieldset>
</form>

还有一个选择是在主题目录的functions.php文件新增一个钩子,如下所示。

function my_search_form( $form ) {
$form = '<form role="search" method="get" id="searchform" action="' . 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>';
return $form;
}
add_filter( 'get_search_form', 'my_search_form' );

相关资料

如果 searchform.php 存在 $echo 将被忽略。

get_search_form() 还有一种解决方案是使用 get_search_form 过滤器。

如果你想显示当前搜索的关键词在搜索框请使用 value="<?php echo get_search_query(); ?>"

变更记录

起源于:2.7.0

源文件

get_search_form() 位于 wp-includes/general-template.php


如果本文对你有帮助,你可以扫描右边的二维码打赏,谢谢支持
联系优畅:uctheme#qq.com (#改为@)
微信订阅号:优畅主题(uctheme)
官网淘宝店:http://uctheme.taobao.com
版权声明:版权归 优畅主题 所有,转载请注明出处!
转载请保留链接: https://www.uctheme.com/front/1251.html
谢谢支付宝打赏
谢谢微信打赏

品牌创立:2012-11-18优畅主题

优畅主题成立于2012年11月18日,专业Wordpress导购主题开发商,拥有多年Wordpress主题设计经验,专门为淘宝客和导购客站长量身打造高端赚钱模板,我们注重细节,有着严谨的开发态度,一切从客户角度出发,如果你也喜欢 WordPress导购主题,欢迎和我们一起交流!


1 + 9 = ?

目前还没有评。

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册