我正在创建一个WordPress插件,然后为MMA战士创建一个自定义的帖子类型。我想按重量级组织战士,所以尽管这可以很好地利用自定义分类法。
我已经创建了一个这样的权重类分类:
<?php
register_taxonomy('mma_weight_class', 'mma_fighter', array(
'hierarchical' => false,
'label' => __('Weight Class'),
'query_var' => true,
'rewrite' => true
));
然而,这似乎并没有产生我想要的东西。当我去添加/编辑战斗机帖子时,会有一个重量级面板显示如下:
我想要的是这样的重量级面板,但是我的插件预定义了选项(即轻量级,中量级,重量级等)并显示为下拉列表,而不是如上所示的打开输入用户可以添加任何ol'选项。
是否可以为像这样的分类法创建预定义的选项?
所以,我找到了wp_insert_term()函数,以编程方式添加了权重类,并在分类法定义中将hierarchical
更改为true
。这让我更接近我想要的东西,因为我现在有了这个:
但是,我宁愿它们是无线电而不是复选框(因此用户只能选择一个重量级),并且“+添加新类别”选项不可用,因为我只希望用户从中选择预先定义的选项,但无法创建自己的选项。
答案 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
抱歉英语不好