编程语言
首页 > 编程语言> > php – WordPress get_terms为自定义分类返回空数组

php – WordPress get_terms为自定义分类返回空数组

作者:互联网

我对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 );
}

我还将其实现为自定义帖子类型作业.

$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’),它会返回:
数组()

为什么这样?
我想注意两件事.我使用print_r查看术语.其次,我已经在wp-admin界面中添加了一些关键字.

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

解决方法:

好的,我得到了答案.
get_terms(‘job_keywords’,array(“hide_empty”=> false));
get_terms有默认的hide_empty =>是的,任何帖子都不使用我的关键字.

来自wordpress:

Default is true. Will not return empty terms, which means terms whose
count is 0 according to the given taxonomy.

标签:php,arrays,wordpress,custom-taxonomy
来源: https://codeday.me/bug/20190727/1558179.html