Wordpress get_terms 为自定义分类返回空数组
Posted
技术标签:
【中文标题】Wordpress get_terms 为自定义分类返回空数组【英文标题】:Wordpress get_terms returns empty array for custom taxonomy 【发布时间】:2015-09-17 06:58:24 【问题描述】:我对 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,
[...]
在 plugin init 我调用函数 register_job_keywords()
这让我在 wp-admin 中看到关键字,我可以像 tags 一样添加它们等等。所以在界面中一切正常,我转到我的 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-admin 界面中添加了一些关键字。
有什么建议吗?我希望你能帮助我:)
【问题讨论】:
我不确定,但我建议你试试get the terms
【参考方案1】:
好的,我得到了答案。
get_terms( 'job_keywords', array("hide_empty" => false) );
get_terms 有默认的hide_empty => true
并且我的关键字没有被任何帖子使用。
来自wordpress:
默认为真。不会返回空词条,这意味着它们的词条 根据给定的分类,count 为 0。
【讨论】:
非常感谢 bhai saab。你是天使以上是关于Wordpress get_terms 为自定义分类返回空数组的主要内容,如果未能解决你的问题,请参考以下文章
如何在涉及多个get_terms()的WordPress函数中返回多个值