国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > WordPress > WordPress实现非管理员可以设置自定义分类

WordPress实现非管理员可以设置自定义分类

来源:程序员人生   发布时间:2014-01-01 02:54:24 阅读次数:2584次

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

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 权限设置为支持订阅者。比如:

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,这样订阅者(普通用户)也能操作了。

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生