只读分类(用户可以分配术语,但不能创建或编辑现有术语)

时间:2011-07-06 作者:Tom Auger

我正在创建一个自定义分类法,其术语必须由所有用户固定。一旦我设置了开始的术语集,我希望它们是不可变的。我也不想在管理UI中添加不需要的额外链接和元数据库,从而使其混乱不堪。

但是,设置public => \'false\', 或show_ui => \'false\' 不仅隐藏“管理税务”链接,而且防止用户将术语分配给新职位。

我需要一种方法来隐藏帖子类型下拉列表中的“管理”链接,在帖子页面上显示术语选择器元框,但(希望)禁用此元框底部的“添加术语”选项。

是否存在这样的功能?或者分类法总是应该是用户可编辑的?

自定义分类功能在很大程度上帮助了我,因为您可以根据功能独立设置CRUD权限。但如何禁止管理员修改?(我知道这听起来是个坏主意,但它是可行的。)

2 个回复
最合适的回答,由SO网友:cfx 整理而成

有点晚了,但认为这可能需要更新。

创建自定义分类法并添加所需的术语,然后返回register_taxonomy() 函数并设置capabilities 参数(它本身接受一系列功能)。你可以看到我是如何为狗设置性爱的,它只能有两个值——“雄性”或“雌性”,我输入了这两个值。现在管理员只能给狗分配性别,但不能添加、删除或编辑性别。

register_taxonomy(\'sex\', \'dog\', array(
  \'capabilities\' => array(
    \'manage_terms\' => \'\',
    \'edit_terms\' => \'\',
    \'delete_terms\' => \'\',
    \'assign_terms\' => \'edit_posts\'
  ),
  \'label\' => \'Sex\',
  \'labels\' => array(
    \'name\' => \'Sex\',
    \'add_new_item\' => \'Add New Sex\',
    \'new_item_name\' => "Add New Sex"
  ),
  \'public\' => true,
  \'show_admin_column\' => true,
  \'show_in_nav_menus\' => false,
  \'show_tagcloud\' => false,
  \'show_ui\' => true,
  \'hierarchical\' => true
));
关于层次分类法的工作;我没有尝试非层次化,但它也应该在那里起作用。

SO网友:EarnestoDev

你在谈论类别(层次)还是标签?您只需要一个隐藏的分类法+自定义小部件。如果是类别,则更容易操作,如果标记。。。取决于物品数量是否合适。并且您只能对非管理员从公共视图中隐藏它们。这样你就可以轻松地管理它们,而其他人却无法触及它们。

谢谢

结束

相关推荐