Перечислите определенные таксономии

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

Я хочу создать переменную / массив рассматриваемых таксономий, чтобы использовать его где-нибудь еще:

$tax_names = array('tax_01', 'tax_02', 'tax_03');

Этот код работает, но выводит только одну таксономию:

$tax_args = array(
  'name' => 'tax_01'
);

$output = 'objects';

$taxonomies = get_taxonomies( $tax_args, $output ); 

if  ($taxonomies) {
  foreach ($taxonomies as $taxonomy ) {
    echo '<p>' . $taxonomy->label . '</p>';
  }
}

Это не работает:

$tax_args = array(
  'name' => $tax_names // using the array created above
);

$output = 'objects';

$taxonomies = get_taxonomies( $tax_args, $output ); 

if  ($taxonomies) {
  foreach ($taxonomies as $taxonomy ) {
    echo '<p>' . $taxonomy->label . '</p>';
  }
}

Любая помощь приветствуется.


person george    schedule 17.07.2017    source источник


Ответы (1)


Если вы хотите использовать его где угодно, вы можете создать функцию в functions.php

function retrieve_my_terms() {

 global $terms;

 $terms = get_terms('taxonomy');

 foreach ($terms as $term) {
    $option = $term->name;
    return $option;
 }
}

А затем в своем файле php вы можете вызвать функцию, например

retrieve_my_terms();

РЕДАКТИРОВАТЬ:

Вы можете попробовать сделать что-то подобное - я не тестировал это должным образом, но это может быть полезно для вас.

function retrieve_my_terms($termArray) {

  global $terms;

  $terms = $termArray;

  foreach ($terms as $term) {
      $option = get_term_by($term);
      return $option;
  }
}


$tax_names = array('tax_01', 'tax_02', 'tax_03');
retrieve_my_terms($tax_names);
person Tom    schedule 17.07.2017
comment
Спасибо за вашу помощь! Это работает, но возвращает термины таксономии. Я хочу повторить метки таксономий, хранящихся в массиве, например: $tax_names = array('tax_01', 'tax_02', 'tax_03'); Результатом должны быть метки таксономии: Таксономия 01, Таксономия 02, Таксономия 03. - person george; 18.07.2017