是否可以创建独占的定制分类法?

时间:2017-08-07 作者:Narek Malkhasyan

是否可以创建自定义分类法,以便仅为特定帖子选择一个术语?这意味着在编辑后的管理页面中,应该有单选按钮或下拉列表(或用于单个项目选择的任何选项)来选择分类术语

有以下讨论:https://core.trac.wordpress.org/ticket/14877, 但似乎还没有解决

1 个回复
SO网友:Anh Tran

WordPress的默认行为不允许这样做。

因此,要做到这一点,我建议采用以下方法:

像往常一样注册分类法删除分类法元框,这样用户就不会像以前那样选择分类法术语用自己的UI创建自己的元框来替换分类法元框。因此,用户只能从您的广播列表中选择一个术语或选择下拉列表使用此代码可以完成第二步:

add_action( \'add_meta_boxes\', function() {
    remove_meta_box( $id, $post_type, $contex\'side\' );
} );
$id 是分类法元框的ID,可以是\'tagsdiv-{$tax-name}\' 如果分类法不是分层的(如标记),或\'{$tax-name}div\' 如果分类法是分层的(如类别)。

第三步可以完成manually, 但由于它涉及到输出字段、处理清理、保存数据,我建议使用如下库Meta Box 插件来实现这一点。(免责声明:我是插件的作者)。

要为meta box执行的代码如下所示:

add_filter( \'rwmb_meta_boxes\', function( $meta_boxes ) {
    $meta_boxes[] = array(
        \'id\' => \'custom-meta-box\',
        \'name\' => \'Taxonomy Name\',
        \'context\' => \'side\',
        \'fields\' => array(
            array(
                \'id\' => \'custom_taxonomy\',
                \'name\' => \'Taxonomy Name\',
                \'taxonomy\' => $taxonomy_slug,
                \'type\' => \'taxonomy\',
            ),
        ),
    );
    return $meta_boxes;
} );
可以找到更多文档here.

结束

相关推荐

URL rewriting taxonomy term

我正在为接下来的几个小时寻找解决方案,我不知道这是否适用。我有1个Custom Taxonomy \"Years\" 对于Post Type \"Post (default)\". 分类法有两个术语:\"2014\" 和\"2015\".我已经从类别中选择了一些帖子\"news\" 使用两个不同的分类术语。这显示了两个分类术语的所有帖子:http://website.com/category/news/ 当我想显示类别中的帖子时\"news\" 使用分类术语\"2014\" 我使用以下方法:ht