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
scroll top