Wordpress get_terms为自定义分类返回空数组

时间:2015-06-30 12:58:32

标签: php arrays wordpress custom-taxonomy

我对Wordpress Taxonomies有点问题...下面你可以看到我的自定义分类法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-admin界面中添加了一些关键字

有什么建议吗?我希望你能帮助我:)。

1 个答案:

答案 0 :(得分:9)

好的,我得到了答案。 get_terms( 'job_keywords', array("hide_empty" => false) ); get_terms 默认为hide_empty => true,任何帖子都不会使用我的关键字。

来自wordpress:

  

默认为true。不会返回空条款,这意味着条款的条款   根据给定的分类,count为0。