WordPress 技巧:如何在让普通用户设置标签关联

科技1年前 (2023)发布 iowen
121 0 0

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

然后创建了发帖的接口,用户可以输入帖子标题,内容,图片,然后还可以设置分组,对应下图中的「标题信息」,「需求描述」,「上传图片」,「资源类型」。

一切都很完美,但是用户选择的分组始终无法关联上,经过仔细查询创建文章的代码(wp_insert_post)才知道,文章类型关联分类模式的代码如下:

if ( current_user_can( $taxonomy_obj->cap->assign_terms ) ) {  wp_set_post_terms( $post_ID, $tags, $taxonomy );}

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

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

register_taxonomy('group',  [  'label'        => '分组',  'public'      => true,  'hierarchical'    => true,  'rewrite'      => false,  'object_type'    => ['topic'],  'capabilities'    => [    'manage_terms'  => 'manage_categories',    'edit_terms'  => 'edit_categories',    'delete_terms'  => 'delete_categories',    'assign_terms'  => 'read',  ],]);


点击卡片关注「WordPress果酱」 
每天分享 WordPress 使用技巧 

⏬⏬ 下载 WPJAM Basic 请点击阅读原文

© 版权声明

相关文章

暂无评论

暂无评论...