it-swarm.com.de

Nur Posts von beiden Kategorien abfragen?

Ich habe 3 Kategorien,

1. Projekte in Bearbeitung (cat id = '5')

2. Abgeschlossene Projekte (cat id = '6')

3. Bevorstehende Projekte (cat id = '7')

und ich habe auch noch 2 Kategorien: ( keine Unterkategorie )

  1. chennai (cat id = '10 ')

  2. Dubai (cat id = '11)

Wie erhalte ich den Beitrag aus der Kategorie " OnGoing Projects " mit " Chennai "? (Ich zeige gern -> OnGoing Projects auf Chennai.)

Ich habe den folgenden Code ausprobiert:

 <?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();
?>

wird wahrscheinlich die Kategorie " OnGoing Projects " mit " Dubai " angezeigt? (Laufende Projekte zu Dubai) dazu:

<?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();
?>

Dies funktioniert nicht vollständig.

Bitte helfen Sie mir, es herauszufinden.

Danke, ich komme voran.

2
Ramkumar M

Ich rate hier nur, aber ich vermute, dass query_posts() in dieser Situation nicht angemessen ist. query_posts() sollte nur zum Ändern der Hauptabfrage verwendet werden, und es wird empfohlen, query_posts() überhaupt nicht zu verwenden, sondern stattdessen durch das Filtern von pre_get_posts zu ersetzen.

Nach alledem würde ich mich mit WP_Query und insbesondere mit dem Argument tax_query befassen.

Ihr neues Snippet sieht ungefähr so ​​aus:

<?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(); ?>
5
mrwweb