Получаем список записей принадлежащих термину таксономии

Предположим, что мы хотим получить все записи, которые относятся к определенному термину таксономии или рубрике (категории).

Для таксономии

Скопировано
$posts = get_posts([
	'posts_per_page' => -1,
	'auto' => 'volvo'
]);
Показать код

Здесь мы получим все записи, принадлежащие термину со слагом volvo таксономии auto.

То же самое, чуть подробнее:

Скопировано
$posts = get_posts([
	'posts_per_page' => -1,
	'tax_query' => [
		[
			'taxonomy' => 'auto',
			'field'    => 'slug',
			'terms'    => 'volvo'
		]
	]
]);
Показать код

Для рубрики

Скопировано
$posts = get_posts([
	'posts_per_page' => -1,
	'cat' => 555
]);
Показать код

Здесь надо указать верный ID рубрики.

И тоже самое, только через SQL-запрос:

Скопировано
global $wpdb;
$cat_id = 555;
$posts_ids = $wpdb->get_col( "SELECT 
ID FROM $wpdb->posts p
JOIN $wpdb->term_relationships tr ON (p.ID = tr.object_id)
JOIN $wpdb->term_taxonomy tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id)
JOIN $wpdb->terms t ON (tt.term_id = t.term_id)
WHERE p.post_type='post'
AND p.post_status = 'publish'
AND tt.taxonomy = 'category'
AND t.term_id = $cat_id
ORDER BY post_date DESC" );
Показать код

Здесь мы уже получим не сами записи, а только их ID. Во второй строке так же надо указать верный ID рубрики.