Aa lho, per WP3.0 ada opsi untuk kueri lanjutan khusus, yang bagus. Pada saat ini, beberapa parameter kueri bidang khusus seperti meta_key, meta_value sudah tidak digunakan lagi untuk parameter meta_query baru ( lihat di sini )
Saya mencoba untuk memiliki kueri yang cukup sederhana dengan sintaks baru, permintaan posting oleh post_type (layanan) tertentu yang berisi meta_key tertentu (order_in_archive) - ini berjalan dengan baik seperti yang diharapkan. Tapi - Saya ingin mengatur kueri dengan meta_value, dan tidak berhasil.
Ini permintaan saya -
query_posts(
array( 'post_type' => 'services',
'order' => 'ASC',
'orderby' => 'meta_value',
'meta_query' => array(
array('key' => 'order_in_archive'))
)
);
Saya mencoba orderby juga dengan meta_value_numeric dan meta_value, tetapi dalam hal apa pun hasilnya sedang dipesan pada tanggal publikasi (seperti halnya posting reguler). Adakah yang tahu bagaimana ini bisa dilakukan?
Terima kasih
sumber
WP Codex sebenarnya membingungkan ketika menangani masalah ini.
Anda tidak benar-benar membutuhkan param meta_query untuk menggunakan orderby, sebaliknya ia menggunakan param meta_key, yang walaupun oleh WP Codex sudah usang telah dibuat di sini: Bagaimana Anda menggunakan orderby dengan meta_query di Wordpress 3.1? pesanan itu masih membutuhkan meta_key.
memang seharusnya begitu
sumber
Mudah:
Ini kode saya:
Detail utama adalah: termasuk
meta_key
, kode saya tidak memesan kecualimeta_key
disertakan, dan itu saja:Ini adalah kode lengkap dari daftar
directors
gambar yang dipesan olehdirector_weight
:sumber
Jangan gunakan kueri_post.
Gunakan parameter WP_Meta_Query
sumber
Saya menemukan ini berfungsi dengan baik.
sumber
meta_query
parameter new-ish dan mendapatkanorderby
untuk bekerja dengannya, dan bukan tentang yang lebih tua tapi masih fungsionalmeta_key
/meta_value
parameter. Juga, jangan mendorong penggunaanquery_posts
.Saya memiliki satu set tanggal acara khusus yang saya butuhkan untuk mengurutkan berdasarkan tanggal turun. Karena tanggal acara khusus saya disimpan di tabel wp_postmeta saya, dan biasanya berbeda dengan tanggal post_date atau tanggal yang diubah, ini berfungsi untuk saya:
Anda kemudian dapat mengulangi $ post seperti ini:
sumber
Ini bekerja untuk saya,
Hanya perlu memberikan kunci untuk pesanan_clause
sumber