【问题标题】:Wordpress WP_Query Search resutls page. Unwanted search termWordpress WP_Query 搜索结果页面。不需要的搜索词
【发布时间】:2016-09-05 01:57:33
【问题描述】:

这是我的查询:

$args = array(
    'post_type'       => $post_type,
    'posts_per_page'  =>-1,
    'post_status' => 'publish',
    'orderby' => 'meta_value_num',
    'meta_key' => $order_key,
    'tax_query'       => array(
               'relation' => 'AND',
            array(
                'taxonomy' => $taxonomy1,
                'field'    => 'id',
                'terms'    => $type,
                'operator'=> $type_operator,
                'include_children' => false
            ),
            array(
                'taxonomy' => $taxonomy2,
                'field'    => 'id',
                'terms'    => $location,
                'operator'=> $location_operator,
                'include_children' => false
            ),
        ),
);

$query = new WP_Query( $args );
var_dump($query);

但是当我检查 var_dump 时,它是:

object(WP_Query)#492 (48) {
  ["query"]=>
  array(6) {
    ["post_type"]=>
    string(12) "$post_type"
    ["posts_per_page"]=>
    int(-1)
    ["post_status"]=>
    string(7) "publish"
    ["orderby"]=>
    string(14) "meta_value_num"
    ["meta_key"]=>
    string(18) "$order_key"
    ["tax_query"]=>
    array(3) {
      ["relation"]=>
      string(3) "AND"
      [0]=>
      array(5) {
        ["taxonomy"]=>
        string(20) "$taxonomy1"
        ["field"]=>
        string(2) "id"
        ["terms"]=>
        string(3) "819"
        ["operator"]=>
        string(2) "IN"
        ["include_children"]=>
        bool(false)
      }
      [1]=>
      array(5) {
        ["taxonomy"]=>
        string(18) "$taxonomy2"
        ["field"]=>
        string(2) "id"
        ["terms"]=>
        string(3) "167"
        ["operator"]=>
        string(2) "IN"
        ["include_children"]=>
        bool(false)
      }
    }
  }
  ["query_vars"]=>
  array(68) {
    ["post_type"]=>
    string(12) "$post_type"
    ["posts_per_page"]=>
    int(-1)
    ["post_status"]=>
    string(7) "publish"
    ["orderby"]=>
    string(14) "meta_value_num"
    ["meta_key"]=>
    string(18) "$order_key"
    ["tax_query"]=>
    array(3) {
      ["relation"]=>
      string(3) "AND"
      [0]=>
      array(5) {
        ["taxonomy"]=>
        string(20) "$taxonomy1"
        ["field"]=>
        string(2) "id"
        ["terms"]=>
        string(3) "819"
        ["operator"]=>
        string(2) "IN"
        ["include_children"]=>
        bool(false)
      }
      [1]=>
      array(5) {
        ["taxonomy"]=>
        string(18) "$taxonomy2"
        ["field"]=>
        string(2) "id"
        ["terms"]=>
        string(3) "167"
        ["operator"]=>
        string(2) "IN"
        ["include_children"]=>
        bool(false)
      }
    }
  ["date_query"]=>
  bool(false)
  ["request"]=>
  string(901) "SELECT   wp_posts.* FROM wp_posts  INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)  INNER JOIN wp_term_relationships AS tt1 ON (wp_posts.ID = tt1.object_id) INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) WHERE 1=1  AND ( 
  wp_term_relationships.term_taxonomy_id IN (819) 
  AND 
  tt1.term_taxonomy_id IN (167)
) AND ( 
  wp_postmeta.meta_key = '$order_key'
) AND wp_posts.post_type = '$post_type' AND ((wp_posts.post_status = 'publish')) AND ( wp_posts.post_title LIKE '%$search%' OR wp_posts.ID IN ( SELECT post_id FROM wp_postmeta WHERE meta_value LIKE '%$search%' ) OR wp_posts.ID IN ( SELECT object_id FROM wp_term_relationships AS tr LEFT JOIN wp_terms AS t ON tr.term_taxonomy_id = t.term_id WHERE t.name LIKE '%$search%' ) OR wp_posts.post_content RLIKE '[[:<:]]$search[[:>:]]' )  GROUP BY wp_posts.ID ORDER BY wp_postmeta.meta_value+0 DESC "

以上查询正在使用自定义挂钩在搜索结果页面上运行。但我试图根据用户(分类 1 和分类 2)给出的输入显示自定义帖子类型。这些结果将显示在正常搜索结果之前。

除了搜索关键字自动添加到 WP_Query 之外,一切都很好。我没有在参数中包含“s”,但在最终查询中,它就在那里。请任何人帮助我如何避免搜索词包含在 WP_Query 中。

提前致谢。

【问题讨论】:

标签: php wordpress


【解决方案1】:

包含搜索词是由其他插件中的某些过滤器引起的。站点使用 WP Jobs Manager 插件,它导致了这个问题。所以我必须在我的查询参数中使用'suppress_filters' =&gt; true 来解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    • 2011-10-12
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多