5ucms论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 8387|回复: 0
打印 上一主题 下一主题

[钩子/函数] get_search_form() 函数 提取预设的搜索表单

[复制链接]

670

主题

785

帖子

8303

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8303
跳转到指定楼层
楼主
发表于 2021-6-1 10:48:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
语法结构

  1. <?php get_search_form($echo = true) ?>
复制代码

参数

$echo 布尔型,参数是可选的,如果是true则显示表单,如果是false则会返回一个字符串,默认是true。

实例

如果主题目录里没有searchform.php这个文件,那么WordPress将默认使用内置的搜索表单,其格式为

  1. <form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
  2.     <div>
  3.         <label class="screen-reader-text" for="s">Search for:</label>
  4.         <input type="text" value="" name="s" id="s" />
  5.         <input type="submit" id="searchsubmit" value="Search" />
  6.     </div>
  7. </form>
复制代码

如果主题文件里有searchform.php这个文件,那么WordPress就会使用指定的搜索表单模版。注意,搜索表单应该使用get方法指向主页,文本域的name应该是s,这是一个自定义searchform.php的例子:

  1. <form action="/" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
  2.     <label for="search">Search</label>
  3.     <input type="text" name="s" id="search" value="<?php the_search_query(); ?>" />
  4.     <input type="image" alt="Search" src="<?php bloginfo( 'template_url' ); ?>/images/search.png" />
  5. </form>
复制代码

如果不想用这种方法自定义搜索表单,还可以使用get_search_form钩子进行搜索表单的添加

  1. function change_search_form( $form ) {
  2.     $form = '<form role="search" method="get" class="search-form" action="' . esc_url( home_url( '/' ) ) . '">
  3.         <label>
  4.             <span class="screen-reader-text">' . _x( 'Search for:', 'label' ) . '</span>
  5.             <input type="search" class="search-field" placeholder="' . esc_attr_x( 'Search for:', 'placeholder' ) . '" value="' . get_search_query()
  6.         . '" name="s" title="' . esc_attr_x( 'Search for:', 'label' ) . '" />
  7.         </label>
  8.         <input type="submit" class="search-submit" value="' . esc_attr_x( 'Search', 'submit button' ) .'" /></form>';
  9.     return $form;
  10. }
  11. add_filter( 'get_search_form', 'change_search_form' );
复制代码

这三种表单的级别从大到小依次是钩子方法>searchform.php>默认搜索表单
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5ucms.com

GMT+8, 2024-9-29 23:27 , Processed in 0.062500 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表