WordPress函数:get_search_form(获取搜索表单)

描述

引入 searchform.php 文件来显示搜索表单。

用法

<?php get_search_form( $echo ); ?> 

参数

$echo : (布尔值) (可选) 如果是 true 则输出表单; false 则返回表单的字符串。默认: true

返回值

(字符串string),如果参数 $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>

如果你的主题没有 searchform.php ,将自动使用上面的代码替代。请记住,搜索表单需要一个 Get 方式(method="get" )到你博客的首页,而且文本输入框应该被命名为 s (name="s"),此外,还必须向上面的例子一样包含标题 。

一个自定义的 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" />
    </fieldset>
</form>

最后一个选项是写一个自定义的函数(在你的 functions.php 文件中)并挂载这个函数到 get_search_form 钩子。

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() 获取搜索表单。

所在文件

get_search_form() 包含在 wp-includes/general-template.php.

相关函数

  • get_header()
  • get_footer()
  • get_sidebar()
  • get_template_part()
  • comments_template()
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
欢迎关注我们的微信公众号:WPDAXUE

倡萌

一个文科IT宅男,喜欢折腾WordPress和被它折腾 ^_^

1 条评论

  1. 我希望点击一个a链接,跳转到search.php 页面。已经在根目录下添加了search.php,但访问/search还是路由到404/。请问要怎么给a连接添加路由

发表评论