WordPress教程

WordPress 如何在让普通用户设置分类或标签关联

也想出现在这里?联系我们
创客云

我们最近帮客户开发了一个讨论组小程序,支持小程序前端用户发布文章,并且文章也支持设置标签或者分组。为了尽量复用 WordPress 的能力,我们使用注册了 topic 这个文章类型,然后也注册了 group 这个分类模式。

然后创建了发帖的接口,用户可以输入文章标题,内容,图片,然后还可以设置分组,对应下图中的「标题信息」,「需求描述」,「上传图片」,「资源类型」。
WordPress 如何在让普通用户设置分类或标签关联
一切都很完美,但是用户选择的分组始终无法关联上,经过仔细查询创建文章的代码(wp_insert_post)才知道,文章类型关联分类模式的代码如下:

也想出现在这里?联系我们
创客主机
  1. if ( current_user_can( $taxonomy_obj->cap->assign_terms ) ) {
  2. 	wp_set_post_terms( $post_ID, $tags, $taxonomy );
  3. }

由上代码可知,给文章类型关联分类模式之前,会判断当前的用户拥有当前分类模式分配的权限(assign_terms)。

所以我只需要在注册分类模式的时候,设置分类模式分配的权限为 read,即普通用户也拥有权限,具体的代码如下:

  1. register_taxonomy('group',	[
  2. 	'label'				=> '分组',
  3. 	'public'			=> true,
  4. 	'hierarchical'		=> true,
  5. 	'rewrite'			=> false,
  6. 	'object_type'		=> ['topic'],
  7. 	'capabilities'		=> [
  8. 		'manage_terms'	=> 'manage_categories',
  9. 		'edit_terms'	=> 'edit_categories',
  10. 		'delete_terms'	=> 'delete_categories',
  11. 		'assign_terms'	=> 'read',
  12. 	],
  13. ]);
资源下载此资源下载价格为5立即购买,VIP 免费

收藏
(0)

本文由 云模板 作者:PetitQ 发表,转载请注明来源!

也想出现在这里?联系我们
创客主机

发表回复

热销模板

Hub - 响应式可视化编辑企业官网WordPress汉化模板

Envato

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!

请扫码添加QQ好友后咨询!