Как отсортировать записи по двум значениям мета

По-умолчанию, WordPress позволяет вам сортировать результаты запроса по одному значению мета, однако что если вам нужно отсортировать результаты сразу по двум значениям (например дата и время)? Вот рабочий пример.

Вставьте следующий код в файл вашего шаблона, в то место, где вам нужна сортировка результатов запроса.

<?php 

$query = "SELECT wposts.*, wpostmeta1.*, wpostmeta2.* 
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta1, $wpdb->postmeta wpostmeta2
WHERE wposts.ID = wpostmeta1.post_id
AND wposts.ID = wpostmeta2.post_id
AND wpostmeta1.meta_key = 'date'
AND wpostmeta2.meta_key = 'time'
ORDER BY wpostmeta1.meta_value ASC,
         wpostmeta2.meta_value ASC";

$results = $wpdb->get_results($query);

foreach ( $results as $result ) {
         //выводим результаты как и хотели
} ?>

Учтите, что запрос указан для примера и ДОЛЖЕН быть изменен конкретно под ваши определенные нужды!

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top