Как в WordPress получить свой тип записей отфильтровав по нужной таксономии

Как в WordPress получить свой тип записей отфильтровав по нужной таксономии

Для того что бы в ВордПресс получить определенный тип записей отфильтрованных по кастомной таксономии (или существующей), воспользуйтесь следущим снипеттом:

$Posts = get_posts(array(
	'post_type' => 'my-post-type',
	'order' => 'ASC',
	'tax_query' => array(
	array(
			'taxonomy' => 'my-taxonomy',
			'field' => 'slug',
			'terms' => 'event'
		)
	),
	'meta_query' => array(
		'AND',
		array(
			'type' => 'NUMERIC',
			'key' => 'event_date',
			'compare' => '<', 'value' => time()
		),
		array(
			'type' => 'NUMERIC',
			'key' => 'is_archive',
			'compare' => '==',
			'value' => 0
		)
	)
));

Что мы имеем. Первое:

	'post_type' => 'my-post-type',
	'order' => 'ASC',

ищем в БД записи типа "my-post-type".

Второе:

	'tax_query' => array(
	array(
			'taxonomy' => 'my-taxonomy',
			'field' => 'slug',
			'terms' => 'event'
		)
	),

в тот же запрос, добавляем фильтрацию по таксономии типа "my-taxonomy", slug которой равен "event".

Третье:

	'meta_query' => array(
		'AND',
		array(
			'type' => 'NUMERIC',
			'key' => 'event_date',
			'compare' => '<', 'value' => time()
		),
		array(
			'type' => 'NUMERIC',
			'key' => 'is_archive',
			'compare' => '==',
			'value' => 0
		)
	)

Добавляем в фильтр ограничение по мета полям, где дата события "event_date" больше текущей даты, и где данная запись не находится в архиве:

'is_archive == 0'
Поделиться в соцсетях:
Статьи на похожую тематику

С вашим WordPress сайтом проблемы? нужен дополнительный функционал? нестандартный плагин или сверстать новую страницу?
Тогда напишите мне через форму обратной связи, и я постараюсь вам помочь.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *