web-dev-qa-db-fra.com

tax_query: Que passer quand je veux avoir tous les termes?

$args = array(
    'post_type' => 'wr_event',
    'posts_per_page' => -1,
    'meta_key' => 'event_date',
    'orderby' => 'meta_value_num',
    'order' => $order,
    'meta_value' => $yesterday,
    'meta_compare' => $compare,
    if ( is_null($cat) )
        'tax_query' => array(
            array(
                'taxonomy'  => 'event_type',
                'field'     => 'slug',
                'terms'     => $cat,
                'operator'  => 'IN'
                ),
           )
);

Je suis confus, que dois-je passer pour obtenir tous les messages de tous les termes? À l'heure actuelle, je peux par exemple passer sports afin d'obtenir tous les événements sportifs, mais comment puis-je obtenir tous les événements? Je sais que je pourrais simplement me débarrasser de la tax_query(), mais je l’utilise en tant que paramètre, où je peux faire payer une taxe ou sinon, je veux tous les messages.

1
mathiregister

Simplement omettre (ou ne pas ajouter) tax_query une partie des arguments.

$args = array(
    'post_type' => 'wr_event',
    'posts_per_page' => -1,
    'meta_key' => 'event_date',
    'orderby' => 'meta_value_num',
    'order' => $order,
    'meta_value' => $yesterday,
    'meta_compare' => $compare,
);

if ( ! is_null($cat) )
  $args['tax_query'] =array(
            array(
                'taxonomy'  => 'event_type',
                'field'     => 'slug',
                'terms'     => $cat,
                'operator'  => 'IN'
                ),
           );
4
Rarst