Wordpress get terms возвращает пустой массив для пользовательской таксономии
У меня небольшая проблема с таксономиями Wordpress... Ниже вы можете увидеть инициализацию моей пользовательской таксономии с именем job_keywords
.
function register_job_keywords() {
$labels = array(
[... lables here ...]
);
$args = array(
'labels' => $labels,
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
);
register_taxonomy( 'job_keywords', array( 'job' ), $args );
}
Я также внедряю его в пользовательский тип записи job
.
$args = array(
[...]
'taxonomies' => array( 'job_category' , 'job_keywords'),
'hierarchical' => false,
[...]
В инициализации плагина я вызываю функцию register_job_keywords()
, которая позволяет мне видеть ключевые слова в wp-admin, и я могу добавлять их так же, как теги и т. Д. Так что в интерфейсе все работает нормально, и я перехожу к своему php файлу и показываю все таксономии. Так что я получил это :
Array
(
[category] => category
[post_tag] => post_tag
[nav_menu] => nav_menu
[link_category] => link_category
[post_format] => post_format
[job_category] => job_category
[job_keywords] => job_keywords
)
Как вы можете видеть, job_keywords
существует.
Но если я захочу использовать get_terms('job_keywords')
, он вернется :
Array( )
Почему это так?
Я хочу заметить две вещи. Одни, я использую print_r
, чтобы увидеть термины. Во-вторых, я уже добавил некоторые ключевые слова в интерфейс wp-администратора.
Есть какие-нибудь предложения? Я надеюсь, что вы сможете мне помочь:)
1 answers
Хорошо, я получил ответ.
get_terms( 'job_keywords', array("hide_empty" => false) );
get_terms имеют значение по умолчанию hide_empty => true
, и мои ключевые слова не используются ни в одной публикации.
Из wordpress:
Значение по умолчанию равно true. Не вернет пустые термины, что означает термины, количество которых равно 0 в соответствии с данной таксономией.