web-dev-qa-db-fra.com

Requête Messages personnalisés de même taxonomie que le message lui-même

J'ai 2 types de messages personnalisés: "Services" et "Works" et ils ont tous les deux une même taxonomie "Genre". Maintenant, la taxonomie 'Genre' a comme terme appelé 'novice'. 5 Les articles récents sous "Travaux", qui porte le terme "novice" (sous taxonomie "Genre"), doivent être interrogés dans les pages de publication de "Services" qui comporte le terme "novice" (sous taxonomie "Genre"). Il y aura 50 termes dans la taxonomie.

1
Anurag Ahuja

En supposant que vous le vouliez pour tous les termes de la taxonomie "Genre". Dans la boucle sur la page de publication de service unique, mettez ce code:

<?php
$the_terms = get_the_terms( get_the_ID, 'genre' );
if(isset($the_terms) && !empty($the_terms)){
    foreach($the_terms as $the_term){
        $the_terms_slugs[] = $the_term->slug;
    }
}

$works = get_posts(array(
                                'post_type' => 'works',
                                'posts_per_page' => 5,
                                'tax_query' => array(array(
                                    'taxonomy' => 'genre',
                                    'field' => 'slug',
                        'terms' => $the_terms_slugs
                                )));

//This will print the works which have the same genre as the current post
print_r($works_query);
?>

Si vous ne le voulez que pour 'novice', faites le moi savoir et je modifierai le code.

1
Rutwick Gangurde