繁体   English   中英

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

[英]How can I display a search form based on a selected value

对于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中处理此值。 任何方向或文章都非常感谢。

非常感谢!

将选择的名称设置为post_type ,然后选择的值必须与post_type的名称匹配,例如:blog,帖子类型的名称为post

WordPress搜索查询将解释post_type var,并且只会在给定的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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM