Bir sitede iki farklı yazı türünü bir döngüde birleştirdiğim ve sonra rasgele görüntülediğim bir bölüm oluşturuyorum. Sorun şu ki, yazı başına yazı miktarını sınırlamak için bir yol bulmakta zorlanıyorum .
İşte denedim:
Bir dizi ile birden çok gönderi türüne sahip bir sorgu gerçekleştirilebilir:
$args = array( 'post_type' => array( 'photos', 'quotes' ), ...
... ancak tür başına belirli sayıda yayınla sınırlandırılamaz.
Üzerinde WP_Query çalıştırmadan önce iki sorgu bağımsız değişkeni dizisini birleştirme :
$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 );
Bunda şans yok. Olan şey, ikinci değişkenin
$quotes
üzerine yazılması$photos
ve yalnızca tırnak işaretlerinin gösterilmesidir.İki WP_Query nesnesini yazım hatasıyla birleştirme :
$photos_query = new WP_Query( $photos ); $quotes_query = new WP_Query( $quotes ); $result = (object)array_merge( (array)$photos_query, (array)$quotes_query );
... ve bunun gibi.
Muhtemelen veritabanına doğrudan bir SQL sorgusu kullanabilirsiniz, ancak rastgele düzenlenmiş VE tür başına yazı belirli bir miktar ile sınırlı bir döngü için bu iki ayrı yazı türleri birleştirmek gerekir .
Yardım ettiğin için teşekkür ederim!