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函数中返回多个值

为自定义帖子类型创建存档:wordpress

为自定义 Wordpress 主题创建下拉菜单

在 Wordpress 中为自定义帖子类型添加附加页面

为自定义 URL 参数设置 Cookie - wordpress/woocommerce

Wordpress 为自定义帖子类型存档页面选择了错误的模板