Задать вопрос
@bobongida97

Почему get_terms из массива таксономий выводит только одну?

Есть функция, которая должна выводить для кастомного поста стандартные теги и кастомные.
Но выводит только так:
- если в массиве 2 значения, то выводятся только стандартные
- если убрать стандартные из массива, то кастомные появятся одни
Почему так? Как сделать чтобы все вместе выводились?
$args = array(
	'taxonomy'      => array( 'post_tag', 'recipe_tag' ),
); 

$terms = get_terms( $args );

if ( !empty( $terms ) && !is_wp_error( $terms ) ){

foreach ( $terms as $term ) {
    echo '<a href="' . esc_url( get_term_link( $term ) ) . '" class="post-tag">' . $term->name . '</a>';
}

}
  • Вопрос задан
  • 1461 просмотр
Подписаться 1 Оценить 8 комментариев
Решения вопроса 1
Palych_tw
@Palych_tw
Типа веб-разработчик
Проверил на 4.7.4 код рабочий полностью. Все выводится как нужно. Не знаю, почему у вас не так. Выведете var_dump($terms); после вызова get_terms и проверьте. добавьте в аргументы 'hide_empty' => false . И еще из вопроса немного непонятно, вам нужно вывести все термины или те, что принадлежат посту? если второе , то нужна функция get_the_terms.

get_terms получает вообще все терминиы, а get_the_terms - термины относящиеся к конкретному посту
и туда нельзя передать массив из таксономий, только одну https://wp-kama.ru/function/get_the_terms
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы