mySQL query. ORDER BY meta_key
Pergunta
I'm fighting this quite long already and start to think I'm missing something big. CPT posts could have or not metadata ( _vip_post [0|1]
, _thumbnail_id [null|numeric]
).
If i query for _thumbnail_id
it's ok and works:
SELECT SQL_CALC_FOUND_ROWS wp_posts.*
FROM wp_posts
LEFT JOIN wp_postmeta m ON ( wp_posts.ID = m.post_id AND m.meta_key = '_thumbnail_id')
ORDER BY
m.meta_key DESC,
wp_posts.post_date DESC
Returns posts with thumbnails first, _thumbnail_id
= null comes last. good enough for now. Working.
But if I query for my new _vip_post
meta_key It's totally ignored in ordering. Same pattern.
SELECT SQL_CALC_FOUND_ROWS wp_posts.*
FROM wp_posts
LEFT JOIN wp_postmeta m ON ( wp_posts.ID = m.post_id AND m.meta_key = '_vip_post')
ORDER BY
m.meta_key DESC,
wp_posts.post_date DESC
Just ordered by post_date
. Not working.
Nenhuma solução correta
Licenciado em: CC-BY-SA com atribuição
Não afiliado a wordpress.stackexchange