前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WordPress 技巧:非管理员可以设置自定义分类

WordPress 技巧:非管理员可以设置自定义分类

作者头像
Denis
发布2023-04-15 15:12:42
2620
发布2023-04-15 15:12:42
举报
文章被收录于专栏:WordPress果酱WordPress果酱

如果你是一个 WordPress 开发者,给自己的日志(或者自定义类型的日志)添加自定义分类模式(custom taxonomy),并且你的系统还支持注册用户在前台通过一个表单来投稿,并且需要用户也能输入自定义分类,这个时候你就使用 wp_insert_post 函数来插入日志,但是 wp_insert_post 函数内部是有权限判断的:

代码语言:javascript
复制
if ( current_user_can($taxonomy_obj->cap->assign_terms) )
	wp_set_post_terms( $post_ID, $tags, $taxonomy );

自定义分类模式(custom taxonomy)默认的 assign_terms 权限是:manage_categories,可以管理分类,而只有管理员或者编辑(editor)可以管理分类。所以我们在创建自定义分类的时候,就要将其 assign_terms 权限设置为支持订阅者。比如:

代码语言:javascript
复制
register_taxonomy(
	'device',
	'post',
	array(
		'hierarchical' => true,
		'label' => '适用设备',
		'query_var' => true,
		'rewrite' => array('slug' => 'device','with_front'=>false),
		'capabilities' => array(
			'manage_terms' => 'manage_categories',
			'edit_terms' => 'manage_categories',
			'delete_terms' => 'manage_categories',
			'assign_terms' => 'read'
		)
	)
);

上面就创建了一个 “device” 的自定义分类,并且将其权限分派设置为 read,这样订阅者(普通用户)也能操作了。


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档