it-swarm.com.de

get_posts mit mehreren Kategorien

Wenn ich get_posts () mit der Kategorie 1,2 mache, bekomme ich alle Posts in Kategorie 1 OR 2. Wenn ich alle Posts mit beiden Kategorien, also 1 UND 2, machen möchte, wie mache ich das? diese Anfrage?

2
gubbfett

Wie im Codex dokumentiert, können Sie Folgendes verwenden

$query = new WP_Query( array( 'category__and' => array( 2, 6 ) ) ); // post muss in der Kategorie mit den IDs 2 UND 6 sein

5
pbaldauf

Der Kodex sagt:

Hinweis: Der Kategorieparameter muss die ID der Kategorie und nicht der Kategoriename sein.

Hinweis: Der Parameter category kann eine durch Kommas getrennte Liste von Kategorien sein, da die Funktion get_posts() den Parameter 'category' direkt als WP_Query an 'cat' übergibt.

Es wäre also dasselbe wie der Category-Parameter - cat von WP_Query().

2
Mayeenul Islam

Sie können die WP_QUERY-Klasse verwenden, um nach Beiträgen in bestimmten Kategorien zu suchen. Hier ein Beispiel:

$query = new WP_Query( 'cat=2,6,17,38' );

Hier ist ein Link zu der Dokumentation, in der erklärt wird, wie die Ergebnisse verwendet werden, um eine Schleife zu erstellen und die Beiträge in den Ergebnissen anzuzeigen.

2
Ramy Deeb

Es gibt einen viel einfacheren Weg, der nur die Funktion get_posts() beinhaltet.

<?php $args1 = array( 'posts_per_page' => 6, 'offset'=> 0, 'category' => array(2,3,25,30));
            $myposts1 = get_posts( $args1 );
            foreach ( $myposts1 as $post ) : setup_postdata( $post ); ?>
            <div class="each-post col-lg-aynk col-md-aynk col-sm-aynk col-xs-aynk">
                <a href="<?php the_permalink(); ?>">
                    <h2><?php the_title(); ?></h2>
                </a>
                <a href="<?php the_permalink(); ?>">
                    <div class="news-story-img">
                        <?php if (class_exists('MultiPostThumbnails')) : MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image'); endif; ?>
                        <?php the_post_thumbnail( get_permalink() ); ?>
                    </div>
                </a>

            </div>

            <?php endforeach; 
            wp_reset_postdata();?>
0
Asem J Syed

Tatsächlich können Sie category__and mit get_posts() direkt verwenden:

$posts = get_posts(array( 'category__and' => array(1,2) ));
0
AymKdn

Wenn Sie Kategoriename als Suchparameter verwenden möchten, können Sie WP_Query( array("category_name" => "cat_1+cat_2+...+cat_n") ) verwenden, wobei cat_1, cat_2, ... , cat_n all die Kategorien sind, die der Beitrag aus der Abfrage zurückgeben muss

Dokumentation hier Codex Wordpress

0