在WordPress中创建预定义的分类法

时间:2014-06-01 16:59:40

标签: wordpress taxonomy

我正在创建一个WordPress插件,然后为MMA战士创建一个自定义的帖子类型。我想按重量级组织战士,所以尽管这可以很好地利用自定义分类法。

我已经创建了一个这样的权重类分类:

<?php
register_taxonomy('mma_weight_class', 'mma_fighter', array(
    'hierarchical' => false,
    'label' => __('Weight Class'),
    'query_var' => true,
    'rewrite' => true
));

然而,这似乎并没有产生我想要的东西。当我去添加/编辑战斗机帖子时,会有一个重量级面板显示如下:

enter image description here

我想要的是这样的重量级面板,但是我的插件预定义了选项(即轻量级,中量级,重量级等)并显示为下拉列表,而不是如上所示的打开输入用户可以添加任何ol'选项。

是否可以为像这样的分类法创建预定义的选项?

更新

所以,我找到了wp_insert_term()函数,以编程方式添加了权重类,并在分类法定义中将hierarchical更改为true。这让我更接近我想要的东西,因为我现在有了这个:

enter image description here

但是,我宁愿它们是无线电而不是复选框(因此用户只能选择一个重量级),并且“+添加新类别”选项不可用,因为我只希望用户从中选择预先定义的选项,但无法创建自己的选项。

1 个答案:

答案 0 :(得分:1)

metabox看起来像这样,因为你定义了'hierarchical' => false参数,如果你设置为'hierarchical' => true它将采用类别样式元框,带有复选框,但我认为你不想给用户创建子类别的机会,因为这是错误的。

你可以在这里找到3种方法:

1)设置'hierarchical' => true,但这样可以让战士在多个班级上

2)Change the default metabox for this custom post type, replacing the checkboxes for radio buttons

3)Create a custom metabox, with radio buttons too

抱歉英语不好