Сортировка записей с двумя meta_key
-
Приветствую всех!
С сортировкой данных не сильно силен, но по стандартным данным уже разобрался, как работать. Проблема возникла, когда нужно было сортировать данные по второму ключу meta_key. Структура такая:<select name="orderby"> <option value="title">заголовок</option> <option value="duration">продолжительность</option> </select>
по заголовку сортируются без проблем записи, что по DESC, что по ASC
а вот второй параметр берется из ключа duration, где при публикации записи вносятся примерные цифры: 29, 120, 60. Цифры все целые.
Вот сам код сортировки:$args = array(); query_posts($args); $args = array ( 'post_type' => 'post', 'posts_per_page' => 5, 'order' => 'DESC', 'meta_query' => array ( array ( 'meta_key' => 'title', 'orderby' => $_GET['orderby'], ), ) ); // второй массив $args = array ( 'meta_key' => 'duration', 'orderby' => 'meta_value_num', ); if ( have_posts() ) : while ( have_posts() ) : the_post(); // вывод записи endwhile; endif;
При поиске первый массив $args сортирует правильно данные по заголовку.
А вот из второго массива сортировка поиска не хочет работать. Я делал даже двойной массив из meta_query.
Внизу сделал вывод только по «duration» и как ни странно записи на этой же странице вывелись в правильно порядке, а именно: 120, 60, 29. Выводил только цифры, чтобы видеть результаты сортировки, не нажимая каждый раз на кнопку поиск.
При выборе из select сортировку по duration, нажимаю на поиск и на странице поиска ни в какую не сортирует записи по данному селекту. Записи выводятся по дате создания.Помогите разобраться с данной проблемой.
- Тема изменена 7 лет, 3 месяца назад пользователем lizverd. Причина: небольшое пояснение
- Тема «Сортировка записей с двумя meta_key» закрыта для новых ответов.