Сортировка записей по произвольному полю дата и время в WordPress

Сортировка записей по произвольному полю дата и время в WordPress

30 сентября 2019 WordPress

В статье Вывод записей с помощью WP_Query{} я уже показывал, как можно выводить записи по различным параметрам и как использовать простую сортировку постов. Недавно возникла задача вывода записей с доп.полем типа Дата и время и сортировка по нему. Про доп. поля в WordPress можно почитать в этой статье.

Список записей не что иное, как афиша мероприятий. Поэтому ещё одним условием было не выводить мероприятия, которые уже прошли, т.е. те, у которых дата установлена раньше текущего дня.

Собственно к записям было добавлено поле Дата и время через плагин ACF(Advanced Custom Fields). А вот код, которым получилось осуществить задуманное:

<?php 
	// задаем параметры выборки в массиве
	$args = array(
	'cat' => array(3,4), // ID рубрики
	'posts_per_page' => 8, // выводить по 8
	'meta_key' => 'date',
	'orderby' => 'meta_value_num date',
	'order' => 'ASC',
	'meta_type' => 'DATETIME',
	'meta_query' => array(
		array(
		    'key' => 'date',
		    'value' => date('Y.m.d H:i'),
		    'compare' => '>=',
		    'type' => 'DATETIME'
		)
	    ),
	);
// запрос
$query = new WP_Query( $args ); 

// далее цикл вывода постов

?>

Что здесь. Во-первых задаем ID рубрик, их здесь две, и выводим их по 8. Далее в meta_key задаем имя поля с датой, указываем сортировку по дате в orderby и ASC — по возрастанию. В meta_type указываем, что поле дата и время. Кулинарный форум Culinarie.ru

Чтобы не выводить записи до текущего дня в значении meta_queryопять же указываем key — это имя нашего поля, в value текущие дату и время и в compare знаки больше и равно. Что означает выводить только те записи, у которых дата и время больше или равны текущей дате. И в поле type указываем, что это поле дата и время.

Полный код примера:

<?php 
	// задаем параметры выборки в массиве
	$args = array(
	'cat' => array(3,4), // ID рубрики
	'posts_per_page' => 8, // выводить по 8
	'meta_key' => 'date',
	'orderby' => 'meta_value_num date',
	'order' => 'ASC',
	'meta_type' => 'DATETIME',
	'meta_query' => array(
		array(
		    'key' => 'date',
		    'value' => date('Y.m.d H:i'),
		    'compare' => '>=',
		    'type' => 'DATETIME'
		)
	    ),
	);
// запрос
$query = new WP_Query( $args ); 
?>
<?php if ( $query->have_posts() ) : ?>
  <!-- цикл -->
  <?php while ( $query->have_posts() ) : $query->the_post(); ?>
    <h1><?php the_title(); ?></h1>
  <?php endwhile; ?>
  <!-- конец цикла -->
  <?php wp_reset_postdata(); //очищаем результат запроса?>
<?php else : ?>
  <p><?php esc_html_e( 'Ничего не найдено.' ); ?></p>
<?php endif; ?>

Если вам понравилась статья, вы можете отблагодарить автора любой суммой, какую сочтете для себя приемлемой:
Остались вопросы по статье? Задайте их прямо сейчас!
Перенос сайта на WordPress на другой домен

В повседневной работе часто приходится сталкиваться с переносом сайта на Wordpress с локального или тестового домена на основной. Для этого необходимо не только скопировать файлы, базу данных и поменять настройки в конфигурационном файле, но и сделать ряд SQL-запросов, чтобы прописать Читать далее

Правильный файл robots.txt для WordPress 2019

Самый оптимальный и простой код файла robots.txt для вашего сайта на WordPress, который подойдет для всех поисковиков. Этот вариант использую на данном сайте. Не забудьте заменить maindot.ru на адрес вашего сайта. Содержание файла robots.txt для WordPress Если вы используете HTTPS, Читать далее

Произвольные типы записей WordPress

Произвольные типы записей позволяют разделить посты не только по категориям, но и по их типу с собственными названиями и рубриками. Это что-то типо инфоблока, как в CMS 1С-Битрикс. По умолчанию в WordPress есть возможность добавлять записи и их рубрики. К Читать далее

Произвольные поля WordPress

Произвольные поля или как их еще называют кастомные или доп. поля в WordPress очень нужная вещь, особенно при создании например сайта-каталога. С помощью доп. полей можно добавить к записям возможность указывать например цену или цвет, а затем выводить сохраненное значение Читать далее

Создание плагина WordPress с нуля

Когда я создавал свой первый плагин, то оказалось, что в сети очень мало информации по этому вопросу. С трудом удалось найти даже основы. Надеюсь эта статья поможет вам научиться писать различные плагины для WordPress. Наверняка вы уже пользовались и знаете, Читать далее

WordPress Ajax

По большей части публикации про применение Ajax в WordPress сложные для понимания, особенно если вы мало знакомы с этой технологией. В этой статье я покажу, как на самом деле просто использовать Ajax в публичной части сайта. Ajax запросы в WordPress Читать далее

WordPress подгрузка постов кнопкой показать еще или бесконечным скроллом

Кнопка "Показать ещё" и бесконечный скроллинг - это по сути постраничная навигация, которая подгружает следующую страницу с постами без перезагрузки страницы. Подобные примеры часто можно встретить в лентах соц. сетей. В этом примере показана реализация кнопки "Показать ещё" и бесконечного Читать далее

Добавить комментарий