Як у WordPress отримати свій тип записів відфільтрувавши за потрібною таксономією

Як у 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 сайтом проблеми? потрібний додатковий функціонал? нестандартний плагін чи згорнути нову сторінку?
Тоді напишіть мені через форму зворотного зв'язку, і я намагатимусь вам допомогти.

Напишіть коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *