Ich erstelle einen Abschnitt auf einer Site, in der ich zwei verschiedene Beitragstypen in einer Schleife zusammenführe und sie dann zufällig anzeige. Das Problem ist, dass es mir schwer fällt, die Anzahl der Beiträge pro Typ zu begrenzen .
Folgendes habe ich versucht:
Eine Abfrage mit mehreren Beitragstypen kann mit einem Array durchgeführt werden:
$args = array( 'post_type' => array( 'photos', 'quotes' ), ...
... kann aber nicht auf eine bestimmte Anzahl von Posts pro Typ beschränkt werden.
Zusammenführen von zwei Arrays mit Abfrageargumenten, bevor WP_Query darauf ausgeführt wird:
$photos = array( 'post_type' => 'photos', 'posts_per_page' => 15, 'orderby' => 'rand' ); $quotes = array( 'post_type' => 'quotes', 'posts_per_page' => 5, 'orderby' => 'rand' ); $args = $photos + $quotes; // Also tried array_merge( $photos, $quotes );
Kein Glück. Was passiert, ist, dass die letztere Variable
$quotes
überschreibt$photos
und nur die Anführungszeichen anzeigt.Zusammenführen von zwei WP_Query- Objekten durch Typumwandlung:
$photos_query = new WP_Query( $photos ); $quotes_query = new WP_Query( $quotes ); $result = (object)array_merge( (array)$photos_query, (array)$quotes_query );
... und so weiter.
Ich könnte wahrscheinlich eine SQL-Abfrage direkt in der Datenbank verwenden, aber ich muss in der Lage sein, diese beiden separaten Beitragstypen für eine Schleife zu kombinieren, die zufällig angeordnet und auf eine bestimmte Anzahl von Beiträgen pro Typ beschränkt ist.
Danke für Ihre Hilfe!