J'ai 3 catégories,
1. Projets en cours (Cat ID = '5')
2. Projets terminés (Cat ID = '6')
3. Projets à venir (Cat ID = '7')
et aussi j'ai 2 autres catégories: ( Pas une sous-catégorie )
chennai (id de chat = '10 ')
Dubaï (id de chat = '11)
Comment obtenir le message de la catégorie " Projets en cours " avec " Chennai "? (J'aime afficher -> Projets en cours sur Chennai.)
J'ai essayé le code suivant:
<?php
query_posts('posts_per_page=6&cat=5&cat=10');
while(have_posts()) : the_post();
?><li>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(230,192)); ?></a>
</li>
<?php endwhile;
wp_reset_query();
?>
pour afficher la catégorie " Projets en cours " avec " Dubaï "? (Projets en cours à Dubaï) pour cela:
<?php
query_posts('posts_per_page=6&cat=5&cat=11');
while(have_posts()) : the_post();
?><li>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(230,192)); ?></a>
</li>
<?php endwhile;
wp_reset_query();
?>
Cela ne fonctionne pas pleinement.
S'il vous plaît aidez-moi à comprendre.
Merci je avance.
Devinez juste ici, mais je soupçonne que query_posts()
n'est pas approprié dans cette situation. query_posts()
ne devrait être utilisé que pour modifier la requête principale, et la meilleure pratique émergente est que query_posts()
ne devrait pas être utilisé du tout, mais au lieu de cela, remplacé par le filtrage pre_get_posts
.
Cela dit, je regarderais dans WP_Query
et en particulier l'argument tax_query
.
Votre nouvel extrait ressemblera à ceci:
<?php
$my_query_args = array(
'posts_per_page' => 6,
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'id',
'terms' => array( 5, 10 ),
'operator' => 'AND'
)
)
);
$my_query = new WP_Query( $my_query_args );
if( $my_query->have_posts() ) : while( $my_query->have_posts() ) : $my_query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(230,192)); ?></a>
</li>
<?php endwhile; endif; wp_reset_postdata(); ?>