Maison > Questions et réponses > le corps du texte
J'essaie d'utiliser WP_Query pour créer une requête contenant un élément meta_query et un élément tax_query. Plus important encore, je ne veux pas trouver de résultats qui satisfont aux deux conditions (et à la clause AND), je veux trouver des résultats qui satisfont à l'une ou l'autre d'entre elles (clause OR).
$loop = new WP_Query( array( 'post_type' => 'tickets', 'paged' => $paged, 'order' => $order, 'orderby' => $orderby, 'meta_query' => array( array( 'key' => 'tps_email', // Use 'key' for author 'value' => 'web@data.com', // Replace with the author ID you want to query 'compare' => 'LIKE', // Use '=' to match the author ID ), ), 'tax_query' => array( array( 'taxonomy' => 'topic', // Replace with your custom taxonomy name 'field' => 'slug', // You can use 'id', 'slug', or 'name' depending on how you want to identify the term 'terms' => 'housekeeping', // Replace with the slug of the specific term you want to query ), ), ) );
J'accepte cette sortie
P粉0990000442024-04-05 00:33:11
Voici comment mettre en place une relation « OU » entre meta_query et tax_query :
$args = array( 'post_type' => 'tickets', 'paged' => $paged, 'order' => $order, 'tax_query' => array( 'relation' => 'OR', // Set the relationship to OR array( 'taxonomy' => 'topic', 'field' => 'slug', 'terms' => 'housekeeping', ), array( 'taxonomy' => 'your_taxonomy_2', 'field' => 'slug', 'terms' => 'term_slug_2', ), ), 'meta_query' => array( 'relation' => 'OR', // Set the relationship to OR array( 'key' => 'tps_email', 'value' => 'web@data.com', 'compare' => '=' ), array( 'key' => 'custom_field_2', 'value' => 'custom_value_2', 'compare' => '=' ), ), );