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

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

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

1<?php
2 
3$query = "SELECT wposts.*, wpostmeta1.*, wpostmeta2.*
4FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta1, $wpdb->postmeta wpostmeta2
5WHERE wposts.ID = wpostmeta1.post_id
6AND wposts.ID = wpostmeta2.post_id
7AND wpostmeta1.meta_key = 'date'
8AND wpostmeta2.meta_key = 'time'
9ORDER BY wpostmeta1.meta_value ASC,
10         wpostmeta2.meta_value ASC";
11 
12$results = $wpdb->get_results($query);
13 
14foreach ( $results as $result ) {
15         //выводим результаты как и хотели
16} ?>

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

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

Об авторе ADv

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