WordPress: Как отсортировать новости по дате из Custom Content?

Есть афиша inform.kharkov.ua

Там записи отображаются в порядке добавления на сайт, а не сортируются по дате, когда это событие произойдет.

Дата указывается через Custom Content.

Как сделать вывод с сортировкой по дате события, а не добавления его на сайт?
  • Вопрос задан
  • 4623 просмотра
Пригласить эксперта
Ответы на вопрос 3
rOOse
@rOOse
Frontend developer
'orderby' => 'meta_value'
Ответ написан
Комментировать
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Нужно модифицировать запрос. Если это основной Loop - через хук pre_get_posts, если это кастомный Loop, то прямо в нем, естественно:

/**
 * Custom loop с сортировкой по мета
 */
$upcoming_args = array (
    'post_type'         => 'event', // тип поста, если стандартный, то 'post'
    'posts_per_page'	=> '20', // сколько записей на страницу
    'order' 		=> 'ASC',
    'orderby' 		=> 'meta_value', // сортировка по значению мета-поля
    'meta_key' 		=> 'date_from', // ключ (название) мета-поля
    'meta_query' 	=> array (
        array (
            'key'     => 'date_from', // ключ (название) мета-поля
            'value'   => date('Ymd'), // текущая дата, в формате хранимого значения, от нее будем проверять
            'compare' => '>=', // сравнение "больше или равно"
        ), 
    ),
);
$upcoming = new WP_Query( $upcoming_args );
if ( $upcoming->have_posts() ) : 
    while ( $upcoming->have_posts() ) : $upcoming->the_post(); 
        // Здесь выводим посты
    endwhile;
endif;
wp_reset_postdata();
?>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы