【问题标题】:wordpress search for only single categorywordpress 仅搜索单个类别
【发布时间】:2014-08-18 08:08:10
【问题描述】:

我正在索引页面上创建一个新闻网站我按类别列出了所有新闻我为我的一个新闻部分创建了另外 1 个类别现在我想要的是我正在创建一个搜索 该部分的表单仅过滤仅搜索食谱类别,我该怎么做我想知道基本上我根据wordpress标准代码创建了一个普通的search.php页面 从主题中过滤新闻。 请帮帮我。

这是表单页面中的代码:

<div class="search_box">
           <form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">  
              <div class="input-group">
                      <input type="text" class="form-control search-bar eng my_control" name="s" id="search" placeholder="<?php echo esc_attr_x( 'Search &hellip;', 'placeholder', 'dastak' ); ?>" value="<?php echo esc_attr( get_search_query() ); ?>" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"/>
                      <span class="input-group-btn">
                        <input type="submit" class="search-submit btn my-btn" value="<?php echo esc_attr_x( 'Search', 'submit button', 'dastak' ); ?>">
                        <!-- <button class="btn my-btn"  id="searchsubmit"  type="button"><span class="glyphicon glyphicon-search"></span></button> -->
                      </span>
              </div><!--input group-->

              </form> 
       </div><!--search box-->


<div class="clearfix"></div>    

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    您可以实现一个函数来捕获搜索,但在 category__in 数组中定义类别。

    global $wp_query;
    if(is_search()) :
        $cat = array(
            'category__in' => array(5) // Where 5 is the ID of your Music category
        );
    $args = array_merge( $wp_query->query, $cat );
    endif;
    query_post($args);
    

    您可以通过隐藏字段进行此操作 - 值 22 是类别

    <form method="get" id="search form" action="/">
    <div>
    <input type="text" value="" name="s" id="s" />
    <input type="hidden" value="22" name="cat" id="scat" />
    <input type="submit" id="search_submit" name="Search" value="Search"/>
    </div>
    </form>
    

    【讨论】:

      【解决方案2】:

      您必须挂钩 WordPress WP_Query 全局实例并添加您想要的任何条件。

      开始阅读preg_get_posts WordPress hook。您会发现两个关于类别的示例。

      【讨论】:

      • 请注意,Paulo,有一个新用户正在尝试将您的所有答案编辑成针对您的咆哮。我一直在拒绝它们,但请留意你的发帖历史,以防万一漏掉。
      • @AndyM - 我们正在仔细观察。
      • @AndyM 和 Brad Larson,非常感谢。我知道这一点,但我必须相信社区的政策和自动治理能力。
      猜你喜欢
      • 2023-03-30
      • 2012-01-21
      • 1970-01-01
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      • 2018-06-16
      • 2018-09-01
      • 2011-05-11
      相关资源
      最近更新 更多