Wordpress get_terms returns 自定义分类的空数组
Wordpress get_terms returns empty array for custom taxonomy
我对 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 );
}
我还将其实现为自定义 post 类型 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')
它 return :
Array( )
为什么会这样?
我想注意两件事。那些,我使用 print_r
来查看条款。其次,我已经在 wp-admin 界面中添加了一些关键字。
有什么建议吗?我希望你能帮助我:)
好的,我得到了答案。
get_terms( 'job_keywords', array("hide_empty" => false) );
get_terms 具有默认值 hide_empty => true
并且我的关键字未被任何 post 使用。
来自 wordpress:
Default is true. Will not return empty terms, which means terms whose
count is 0 according to the given taxonomy.
我对 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 );
}
我还将其实现为自定义 post 类型 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')
它 return :
Array( )
为什么会这样?
我想注意两件事。那些,我使用 print_r
来查看条款。其次,我已经在 wp-admin 界面中添加了一些关键字。
有什么建议吗?我希望你能帮助我:)
好的,我得到了答案。
get_terms( 'job_keywords', array("hide_empty" => false) );
get_terms 具有默认值 hide_empty => true
并且我的关键字未被任何 post 使用。
来自 wordpress:
Default is true. Will not return empty terms, which means terms whose count is 0 according to the given taxonomy.