如何显示基于选定值的搜索表单

时间:2019-02-22 00:23:57

标签: javascript php html wordpress

对于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选项,或者使用常规的WP搜索,或者如果选择了store,请从搜索中获取值并打开一个新的搜索参数的窗口传递到我将要设置的网址中。

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

非常感谢您!

1 个答案:

答案 0 :(得分:0)

将选择的名称设置为post_type,然后选择的值必须与post_type的名称匹配,例如:blog,帖子类型的名称为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>