• 注册
  • 个人说明:TA有点懒了,什么都没有写。
    关注 1 粉丝 0 喜欢 0 内容 256
    河南省·郑州市
    聊天 送礼

    新版界面开发进度

    14%
    其实就是啥也没写,只有想法,哈哈
    • 回帖总排行
    • 采纳总排行

    分享精彩给好友

    全部文章 关注:0 内容:1074

    WordPress获取搜索表单函数get_search_form【转】

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • 描述

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

      用法

       <?php get_search_form( $echo ); ?>

      参数

      $echo

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

      默认: true

      返回值

      (字符串string)

      如果参数 $echo 设置为 false,就返回表单的HTML代码。

      WordPress教程

      例子

      如果你的主题没有 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”),此外,还必须向上面的例子一样包含 alabel 。

      一个自定义的 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 文件中)和通过钩子挂载这个函数到 theget_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 过滤器(filter)来使表单通过 get_search_form() 。(A workaround is to pass the form to get_search_form() through the get_search_form filter.)

      所在文件

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

      你需要登录,才能进行发帖操作