【问题标题】:How can I display a search form based on a selected value如何根据所选值显示搜索表单
【发布时间】:2019-02-22 00:23:57
【问题描述】:

我在 WordPress 中有以下自定义搜索功能:

function my_search_form( $form ) {
  $form = '
  <div class="custom-search-dropdown">
    <div class="select-wrapper">
      <select class="blog-store-select">
        <option value="blog">BLOG</option>
        <option value="store">STORE</option>
      </select>
    </div>

    <form role="search" method="get" class="searchform" action="' . home_url( '/' ) . '" >
      <input type="text" value="' . get_search_query() . '" name="s" class="s" placeholder="Site search" />
      <input type="submit" id="searchsubmit" class="search-btn" value="'. esc_attr__( '&#xf002;' ) .'" />
    </form>
  </div>';

    return $form;
}

我有一个选择下拉菜单:

 <select class="blog-store-select">
  <option value="blog">BLOG</option>
  <option value="store">STORE</option>
</select>

如果从下拉列表中选择了Blog 选项,或者如果选择了store,我想要做的是使用常规的 WP 搜索,从搜索中获取值并使用搜索打开一个新窗口参数传递到我将设置的 url。

我知道我可以使用带有 onChange 函数的 JavaScript 获取选择值 - 但我不确定如何在 php / WordPress 中处理这个问题。非常感谢任何方向或文章。

非常感谢!

【问题讨论】:

    标签: javascript php html wordpress


    【解决方案1】:

    将你的select的名称设置为post_type,那么select的值必须与post_type的名称匹配,例如:blog,post type名称为post

    Wordpress 搜索查询将解释 post_type 变量,并且只会搜索给定的 post_type

    <form role="search" method="get" class="searchform" action="' . home_url( '/' ) . '" >
          <input type="text" value="' . get_search_query() . '" name="s" class="s" placeholder="Site search" />
          <select class="blog-store-select" name="post_type">
            <option value="post">BLOG</option>
            <option value="store">STORE</option>
          <input type="submit" id="searchsubmit" class="search-btn" value="'. esc_attr__( '&#xf002;' ) .'" />
    </select>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-12
      • 2011-04-21
      • 2021-12-09
      • 1970-01-01
      • 2021-05-12
      相关资源
      最近更新 更多