SO网友:Frank P. Walentynowicz
如果只想编辑自己的帖子,请使用author的功能。如果还需要编辑其他用户的帖子,请使用编辑器的功能。
案例1
function wpse_add_your_role() {
$role = get_role( \'author\' );
if ( ! empty( get_role( \'your_role\' ) ) ) {
remove_role( \'your_role\' );
}
add_role( \'your_role\', \'Your Role\', $role->capabilities );
}
add_action( \'init\', \'wpse_add_your_role\', 10 );
情况2
function wpse_add_your_role() {
$role = get_role( \'editor\' );
if ( ! empty( get_role( \'your_role\' ) ) ) {
remove_role( \'your_role\' );
}
add_role( \'your_role\', \'Your Role\', $role->capabilities );
}
add_action( \'init\', \'wpse_add_your_role\', 10 );
在这两种情况下,将代码放在当前主题的
functions.php
文件创建新角色后,从中删除代码
functions.php
, 或注释掉这一行:
// add_action( \'init\', \'wpse_add_your_role\', 10 );
您可以使用
$role->add_cap()
或
$role->remove_cap()
方法,根据您的需要。在情况1中,不要移除
edit_posts
能力。在案例2中,不要移除,
edit_posts
也没有
edit_others_posts
能力。