eurobyte.ru - мощные сервера с Дата-центрами в Нидерландах и Москве. От 159 ₽/мес.

Как вывести посты по id терминов без указания таксономий?

Есть кастомный тип записи my_articles с несколькими таксономиями (one,two, three), в каждой из которых есть свои термины со своими id. Сейчас, чтобы вывести записи определённого термина, я использую конструкцию:

$my_args = array(
	'post_type' => 'my_articles',
	'posts_per_page' => 10,
	'tax_query' => array(
		array(
			'taxonomy' => 'one',
			'field'    => 'id',
			'terms'    => array(101,102)
		)
	)
);

А можно ли как-то выводить записи, указывая только post_type и id терминов, без указания таксономий?

0
Данила
2.3 года назад
  • 0
    stepan 2278 www.weblancer.net/users/stepanko/?affili...

    Если вы знаете ID темрминов, то можно получить и сам термин
    $term = get_term(...)
    А зная термин, и его данные - то можно подставить в ваш код таксономию

    $term = get_term(101);
    if ( $term && ! is_wp_error( $term ) ) {
    
    	$my_args = array(
    		'post_type' => 'my_articles',
    		'posts_per_page' => 10,
    		'tax_query' => array(
    			array(
    				'taxonomy' => $term->taxonomy,
    				'field'    => 'id',
    				'terms'    => array(101,102)
    			)
    		)
    	);
    	// ...
    }
    stepan 2.3 года назад

    можно.
    столкнулся с подобной задачей, и оказывается get_term
    прекрасно работает.
    возвращает по ID нужный термин.
    Код выше изменил.

    Данила 2.3 года назад

    А если у меня массив id терминов из разных таксономий, мне как быть?

    stepan 2.3 года назад
    $my_args = array(
    		'post_type' => 'my_articles',
    		'posts_per_page' => 10,
    		'tax_query' => array(
    			array(
    				'taxonomy' => $term->taxonomy,
    				'field'    => 'id',
    				'terms'    => array(101,102)
    			)
    		)
    	);

    То есть, в этом одно запросе могут быть ID терминов с разных таксономий - верно?

    Нужно перебирать массив id
    определять каждому таксономию.
    Потом формировать набор данных:
    таксономия и список id, который принадлежат этой таксономии
    И потом уже изменять
    tax_query с учетом новых наборов данных.

    Нужно уметь работать с циклами. - foreach

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация