получить термины из зарегистрированных таксономий не работает


В functions.php Я могу var_dump() таксономии, такие как:

$taxonomies=get_taxonomies('','names');
echo '<pre>';
var_dump($taxonomies);

Которые дают мне:

array(7) {
  ["category"]=>
  string(8) "category"
  ["post_tag"]=>
  string(8) "post_tag"
  ["nav_menu"]=>
  string(8) "nav_menu"
  ["link_category"]=>
  string(13) "link_category"
  ["post_format"]=>
  string(11) "post_format"
  ["project"]=>
  string(7) "project"
  ["team"]=>
  string(4) "team"
}

Теперь я хотел бы получить все "категории" из моего зарегистрированного таксономического "проекта"

Я пробовал использовать get_categories() и get_terms(), возвращающие пустой массив.

$taxonomies = array(
    'project'
);

$args = array(
    'orderby'           => 'name',
    'order'             => 'ASC',
    'hide_empty'        => true,
    'exclude'           => array(),
    'exclude_tree'      => array(),
    'include'           => array(),
    'number'            => '',
    'fields'            => 'all',
    'slug'              => '',
    'parent'            => '',
    'hierarchical'      => true,
    'child_of'          => 0,
    'get'               => '',
    'name__like'        => '',
    'description__like' => '',
    'pad_counts'        => false,
    'offset'            => '',
    'search'            => '',
    'cache_domain'      => 'core'
);

$terms = get_terms($taxonomies, $args);
var_dump($terms);

Предоставление

array(0) {
}

Что я делаю не так?

Author: caramba, 2014-09-18

1 answers

Есть всего пара вещей, на которые я хочу указать здесь, используя get_terms

  • Нет необходимости помещать одно значение в массив, вы можете просто добавить значение как есть в переменную

  • Чтобы вернуть свои условия, вы должны на самом деле назначить им должности. По умолчанию пустые термины скрыты. То же самое относится и к get_categories. Если вам также нужно отобразить пустые термины, просто установите для параметра hide_empty значение false

  • Тебе не нужно для вызова значений по умолчанию. Если вы не собираетесь изменять значение параметра, не добавляйте его в свои аргументы. Просто добавьте те параметры, которые вы собираетесь изменить

Вот подходящий пример

$args = array(
    'hide_empty' => false, 
);

$terms = get_terms('project', $args);
var_dump($terms);

Здесь мы получаем все термины, включая пустые, отсортированные по умолчанию имен из таксономии project

 3
Author: Pieter Goosen, 2014-09-18 14:47:14