Saya sedang membangun bagian di situs tempat saya menggabungkan dua jenis posting berbeda menjadi satu loop, dan kemudian menampilkannya secara acak. Masalahnya adalah, saya mengalami kesulitan menemukan cara untuk membatasi jumlah posting per jenis.
Inilah yang saya coba:
Satu kueri dengan beberapa jenis posting dapat dicapai dengan larik:
$args = array( 'post_type' => array( 'photos', 'quotes' ), ...
... tetapi tidak dapat terbatas pada jumlah posting tertentu per jenis.
Menggabungkan dua array argumen kueri sebelum menjalankan WP_Query di atasnya:
$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 );
Tidak beruntung dalam hal ini. Apa yang terjadi adalah variabel yang terakhir
$quotes
ditimpa$photos
dan hanya menunjukkan tanda kutip.Menggabungkan dua objek WP_Query bersama melalui typecasting:
$photos_query = new WP_Query( $photos ); $quotes_query = new WP_Query( $quotes ); $result = (object)array_merge( (array)$photos_query, (array)$quotes_query );
... dan seterusnya.
Saya mungkin dapat menggunakan query SQL langsung ke database, tetapi saya harus dapat menggabungkan dua jenis posting terpisah ini untuk satu loop, diatur secara acak, DAN terbatas pada jumlah posting tertentu per jenis.
Terima kasih atas bantuan Anda!
sumber
UNION
beberapa jenis dalam sql untuk setiap post_type?@ agridwal tradisional jawaban Anda sangat sangat bagus tapi sayangnya tidak benar-benar menggabungkan 2
wp_query
itu hanya menunjukkan posting dari keduanya dalam mengatur maksud saya 5 posting dari yang pertama & 5 dari yang kedua tetapi tidak diurutkan semua dalam satu jadi saya punya ini solusi & justru mencapai tujuan untuk diri saya setidaknyasumber