J'ai suivi plusieurs solutions liées. Mais je suis toujours confronté au problème. J'ai appliqué le code suivant pour ma requête de publication personnalisée par taxonomie (catégorie). Mais ça ne marche pas. Je pense que mon problème avec les "termes".
$terms = get_terms('service_cat');
$services_post = new WP_Query(array(
'post_type' => 'service',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'service_cat',
'field' => 'cat1',
'terms' => $terms
)
),
));
J'ai aussi essayé par le code suivant
$services_post = new WP_Query(array(
'post_type' => 'service',
'posts_per_page' => -1,
'category_name' => 'cat1'
))
Modifié pour refléter la question dans le commentaire d'OP .
Le contenu du tableau tax_query
n'est pas tout à fait correct: lorsque vous interrogez par slug, le paramètre field
de la requête de taxonomie individuelle doit être "slug"
.
Actuellement, vous recherchez essentiellement toutes les publications service
de toutes les catégories de services (enfin, même pas, car get_terms
renvoie des objets, mais quand même).
Pour interroger un ou plusieurs termes spécifiques à partir desquels charger des publications, spécifiez les termes dans le tableau terms
. tax_query
est ensuite analysé en conséquence.
$services_post = new WP_Query( array(
'post_type' => 'service',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'service_cat',
'field' => 'slug',
'terms' => array( 'cat1' ) // Array of service categories you wish to retrieve posts from
)
),
) );
En passant, je suppose que vous voulez récupérer tous les messages de type message service