Tidak yakin bagaimana mencapai ini. Saya mencoba untuk menggabungkan posting standar dan posting khusus di beranda situs tetapi saya hanya ingin menampilkan posting khusus jika nilai meta ditetapkan. Menampilkan posting berfungsi dengan baik 'post_type' => array('game', 'post')
tetapi ketika saya menambahkan di meta_query posting biasa tidak lagi menampilkan (yang masuk akal karena mereka tidak memenuhi syarat meta_query).
Jadi, bagaimana saya membatasi meta_query hanya untuk jenis posting khusus sehingga posting biasa masih akan disertakan?
WP_Query
. Anda harus menggunakanpre_get_posts
ubah kueri atau pernyataan SQL khusus. Bagaimanapun, tolong tunjukkan kode Anda saat ini.Jawaban:
Ada berbagai cara untuk melakukan trik, 2 muncul dalam pikiran saya:
$wpdb
kueri khusus yang lengkapWP_Query
dengan filter, gunakanWP_Meta_Query
untuk membangun sql tambahanSaya akan memposting di sini kode sampel untuk kasus # 2
Lihat komentar sebaris untuk penjelasan lebih lanjut.
Lihat juga WP_Meta_Query pada Codex untuk dokumen lengkap tentang cara mengatur argumen meta query Anda.
Edit
Saya refactored kode dalam plugin yang dapat digunakan kembali, menggunakan kelas. Tersedia sebagai Gist .
sumber