user
  • 0
Гуру

Упорядочить запрос по meta_value с несколькими настраиваемыми полями

  • 0

Я хотел бы упорядочить все мои сообщения с несколькими полями cutom (WordPress 3).

Например, у меня есть 2 пользовательских пары meta_key/meta_value : «order_submenuexpositions/numeric» «display_submenuexpositions/boolean»

Я пробовал так, но результат не упорядочивается по meta_value из meta_key «order_submenuexpositions»:

SELECT * FROM wp_posts
LEFT JOIN wp_postmeta wpostmetaOrder ON ( wp_posts.ID = wpostmetaOrder.post_id AND wpostmetaOrder.meta_key = 'order_submenuexpositions' )
LEFT JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id
LEFT JOIN wp_term_relationships wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)
LEFT JOIN wp_term_taxonomy wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
WHERE wp_postmeta.meta_key = 'display_submenuexpositions'
AND wp_postmeta.meta_value = 'true'
AND wp_posts.post_status = 'publish'
AND wp_posts.post_type = 'post'
AND wp_term_taxonomy.taxonomy = 'category'
ORDER BY wpostmetaOrder.meta_value ASC,wp_postmeta.meta_value ASC

как мне это сделать ?

Спасибо !

Share
  1. Вы можете использовать meta_query, чтобы получать только сообщения с display_submenuexpositions = true и упорядочивать их по order_submenuexpositions .

    $args = array(
        'orderby' => 'meta_value',
        'meta_key' => 'order_submenuexpositions',
        'meta_query' => array(
            array(
                'key' => 'display_submenuexpositions',
                'value' => 'true',
                'compare' => 'LIKE'
            )
        )
    );
    $query_posts( $args );
    
    • 0

Оставить ответ

You must login to add an answer.