get_posts mit mehreren Kategorien

Wenn ich eine get_posts () mit Kategorie auf 1,2 setze, bekomme ich alle Beiträge in Kategorie 1 ODER 2. Wenn ich will, dass alle Beiträge mit beiden Kategorien, das sind 1 UND 2, wie mache ich diese Anfrage?

Solutions Collecting From Web of "get_posts mit mehreren Kategorien"

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 ID 2 UND 6 sein

Der Codex sagt:

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

Hinweis: Der category-Parameter kann eine durch Kommas getrennte Liste von Kategorien sein, da die function get_posts() den Parameter ‘category’ direkt als 'cat' WP_Query .

Also wäre es das gleiche wie der Kategorie-Parameter von WP_Query()cat .

Sie können die WP_QUERY-class verwenden, um nach Posts in bestimmten Kategorien zu suchen. Hier ein Beispiel:

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

Hier finden Sie einen Link zur Dokumentation, in dem erläutert wird, wie Sie mit den Ergebnissen eine Schleife erstellen und die Posts in den Ergebnissen anzeigen können.

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

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

Es gibt einen viel einfacheren Weg, der nur die function 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 ); ?> 

< ?php the_title(); ?>

< ?php if (class_exists('MultiPostThumbnails')) : MultiPostThumbnails::the_post_thumbnail(get_post_type(), 'secondary-image'); endif; ?> < ?php the_post_thumbnail( get_permalink() ); ?>
< ?php endforeach; wp_reset_postdata();?>

Wenn Sie category_name als Suchparameter verwenden WP_Query( array("category_name" => "cat_1+cat_2+...+cat_n") ) , können Sie WP_Query( array("category_name" => "cat_1+cat_2+...+cat_n") ) , wobei cat_1, cat_2, ... , cat_n alle Kategorien sind Der Post muss von der Abfrage zurückgegeben werden

Dokumentation hier Codex WordPress