Je souhaite récupérer toutes les publications de type publication book
dans la taxonomie personnalisée book_tags
avec la clé méta lang
et la méta valeur en
.
Mon code:
<?php
$args = array(
'post_type' => 'book',
'posts_per_page' => 40,
'paged' => "$paged",
'meta_query' => array(
array(
'key' => 'lang',
'value' => 'en',
'compare' => 'LIKE'
)
),
'tax_query' => array(
array(
'taxonomy' => 'book_tags',
'field' => 'slug',
'terms' => get_queried_object()->slug
)
)
);
$additional_loop = new WP_Query($args);
while ($additional_loop->have_posts()) :
$additional_loop->the_post();
Ça ne marche pas? Pourquoi?
Si je supprime "meta_query" cela fonctionne. Est-ce qu'il y a un bug dans "meta_query"?
Comme dans votre commentaire, vous avez indiqué que vous souhaitiez simplement publier des messages avec la méta-clé lang=en
sur une page de taxonomie personnalisée, le moyen le plus simple consiste à filtrer la requête avec pre_get_posts
avant de l'exécuter.
function wpa_107371_meta_query( $query ) {
if ( is_admin() || ! $query->is_main_query() )
return;
// only change the query on a custom taxonomy
// can check for a specific taxonomy if desired
if ( is_tax() ) {
//define our meta query
$meta_query = array(
'key'=>'lang',
'value'=>'en',
'compare'=>'=',
);
$query->set('meta_query',$meta_query);
return;
}
}
add_action( 'pre_get_posts', 'wpa_107371_meta_query' );