Wordpress - wp_get_object_terms - несколько таксономий - PullRequest
1 голос
/ 17 января 2020

В настоящее время я использую следующее для получения терминов из моей таксономии:

 $taxonomy = 'books';
 $post_terms = wp_get_object_terms($post->ID, $taxonomy, array('fields' => 'ids'));

 if ( empty($post_terms) )
 return false;

 $terms = wp_get_object_terms($post->ID, $taxonomy, array('hide_empty' => false) );

Теперь мне нужно расширить код еще для двух таксономий "cds" и "magazine".

Я надеялся исправить это, добавив массив следующим образом:

 $taxonomy = array(
                'books', 
                'cds', 
                'magazines'
 );
 $post_terms = wp_get_object_terms($post->ID, $taxonomy, array('fields' => 'ids'));

 if ( empty($post_terms) )
 return false;

 $terms = wp_get_object_terms($post->ID, $taxonomy, array('hide_empty' => false) );

Но на самом деле это не похоже на работу.

Где я здесь ошибаюсь?

1 Ответ

1 голос
/ 17 января 2020

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

$post_terms= get_terms(
          'taxonomy' => array(
                         'books',
                         'cds',
                         'magazines')
);

Протестировано и хорошо работает.

...