saya mencoba menjalankan kueri jenis kiriman khusus agar sesuai dengan kriteria berikut:
urutkan film pertama berdasarkan tahun dalam urutan menurun,
setelah itu ("di dalam" urutan tahun) berdasarkan judul menurut abjad.
output yang diinginkan:
judul film A,
judul film 2006 Z, 2006
...
judul film A,
judul film 1996 Z, 1996
saya menggunakan kode berikut:
$wp_query = new WP_Query();
$wp_query->query( array(
'post_type' => 'movies',
'distribution' => 'companyA',
'meta_key' => 'year',
'orderby' => 'meta_value_num title',
'order' => 'DESC',
'posts_per_page' => -1,
'post_status' => 'publish',
));
saya mencoba beberapa hal tetapi saya hanya bisa mendapatkan hasil "terbalik" ini:
judul film A,
judul film 1996 Z, 1996
...
judul film A, 2006
judul film Z, 2006
jika saya mengubah DESC, ASC itu hanya mengubah pengurutan judul. tetapi saya harus menerapkannya pada tahun ini dan bukan pada gelar.
apakah ini cara yang tepat untuk menggunakan dua nilai orderby? atau apakah saya harus menggunakan meta_query atau custom SQL?
terima kasih sebelumnya!
Berikut adalah SQL Query yang dihasilkan dari $GLOBALS['wp_query']->request
SELECT wp_posts. *
FROM wp_posts
INNER JOIN wp_term_relationships
ON (wp_posts.id = wp_term_relationships.object_id)
INNER JOIN wp_postmeta
ON (wp_posts.id = wp_postmeta.post_id)
MANA 1 = 1
AND (wp_term_relationships.term_taxonomy_id IN (24))
DAN wp_posts.post_type = 'film'
AND (wp_posts.post_status = 'publish')
AND (wp_postmeta.meta_key = 'year')
KELOMPOK OLEH wp_posts.id
ORDER BY wp_postmeta.meta_value + 0,
wp_posts.post_title DESC