Здраствуйте!
Подскажите пожалуйста, как решить следующую задачу:
У меня есть кастомный тип записи - objects
Есть кастомная таксономия: object_tag
Сейчас пытаюсь на странице объекта вывести "Объекты рядом" - объекты с той-же таксономии
А проблема вот в чем:
Если у объекта таксономия (object_tag) - "Польша > Варшава", то "Объекты рядом" - все хорошо работает, выводит объекты только из таксономии "Варшава"
Но, вот если задана таксономия "Польша" (то есть, без дочерней...так попросили) - то в "Объекты рядом" выводятся не только объекты из категории "Польша", но и все дочерние записи..включая "Польша > Варшава" и т.д
Мой код:
1. Я запрашиваю все таксономии текущей записи, и выбираю среди них последний:
$terms = wp_get_post_terms( $post->ID, 'object_tag');
$terms_ids = [];
foreach ( $terms as $term ) {
$terms_ids[] = $term->term_id;
}
$term_id_list = array_pop( $terms_ids );
echo $term_id_list; // Выводит: 115
2.
$args для
WP_Query
$args = array(
'post_type' => 'bh-objects',
'posts_per_page' => 8,
'post__not_in' => array(get_the_ID()),
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'object_tag',
'field' => 'id',
'terms' => $term_id_list
)
),
);
$query = new WP_Query( $args );