web-dev-qa-db-ja.com

Meta_queryとtax_queryの両方を含むwp_queryを作成する方法

うまく機能するwp_queryがありますが、メタクエリとtax_queryの両方を含めることはできません。

<?php 
    $event_query = new WP_Query(
        array( 
          'post_type'  => 'event',        // only query events
          'meta_key'    => 'event-date',  // load up the event_date meta
          'orderby'     => 'meta_value',
          'order'       => 'asc',         // ascending, so earlier events first
          'posts_per_page' => '-1',
          'meta_query'  => array(
             array(         // restrict posts based on meta values
              'key'     => 'event-date',  // which meta to query
              'value'   => date("Y/m/d"),  // value for comparison
              'compare' => '>',          // method of comparison
              'type'    => 'DATE'  )
             ),
          'tax_query' => array(
            array(
                'taxonomy'  => 'event_category',
                'field'     => 'slug',
                'terms'     => $term_id,
                'operator'  => 'IN')

                ),

           ) // end array
        ); // close WP_Query constructor call

?>

分類法$ term_idですべてのイベントを見つけて、それらが将来すべてでありASCによる順序であることを確認しようとしています。

何か案は?

5
TJ Sherrill

クエリは正しく見え、私はmeta_querytax_queryがうまく連携することを知っています。私が考えることができる唯一のことはあなたがslugによるクエリ分類学であるということと2つの異なることであるidという用語を渡すことです、変更:

'field'     => 'slug',

'field'     => 'id',

あなたのtax_queryに。

4
Bainternet