我正在开发一个包含许多站点的 WP 网络,所有这些站点都将由同一个较大的用户组进行编辑。不过,我非常希望不向所有这些用户授予超级管理员权限,所以我想知道是否可以创建一个“超级编辑”角色/用户组,允许用户编辑/创作所有网络内的站点,但不能实际管理网络等。
我找到了允许克隆博客并将用户从一个博客复制到另一个博客的插件,但是能够简单地创建用户一次并为他们提供适当的网络范围的权限,并且类似地从网络中删除一个用户到撤销特权。
有什么线索吗?我的 Google-Fu 在这方面失败了。
提前致谢!
我正在开发一个包含许多站点的 WP 网络,所有这些站点都将由同一个较大的用户组进行编辑。不过,我非常希望不向所有这些用户授予超级管理员权限,所以我想知道是否可以创建一个“超级编辑”角色/用户组,允许用户编辑/创作所有网络内的站点,但不能实际管理网络等。
我找到了允许克隆博客并将用户从一个博客复制到另一个博客的插件,但是能够简单地创建用户一次并为他们提供适当的网络范围的权限,并且类似地从网络中删除一个用户到撤销特权。
有什么线索吗?我的 Google-Fu 在这方面失败了。
提前致谢!
将此代码粘贴到您的主题 function.php 文件中并根据需要进行自定义。
/* Add member role to the site */
add_role('member', 'Member', array(
'read' => true,
'edit_posts' => true,
'delete_posts' => true,
));
/* Add snypher role to the site */
add_role('snypher', 'Snypher', array(
'read' => true,
'edit_posts' => true,
'delete_posts' => true,
));
/* remove the unnecessary roles */
remove_role('subscriber');
remove_role('editor');
remove_role('author');
remove_role('contributor');
希望这两个链接对您有更多帮助:
[1] http://codex.wordpress.org/Function_Reference/add_role
[2] http://codex.wordpress.org/Function_Reference/add_cap
谢谢。
根据 Krunai Shah 的回答,创建一个具有多种权力的自定义角色。然后创建一个必须使用的插件并根据您的需要完善以下代码:
<?
/**
* Plugin Name: Network Access
*/
/**
* Redirect Authors and Subscribers to the site front page
* Except if viewing the Profile page
*/
add_action('admin_init','wpse_53675_block_users');
function wpse_53675_block_users()
{
global $pagenow;
if( 'profile.php' == $pagenow ) // use in_array to put a bunch of prohibited pages
return;
if( !current_user_can('delete_pages') )
{
wp_redirect( get_home_url(), 301 );
exit;
}
}
/**
* Hide all menus from the Admin panel
* Except the profile item
*/
add_action('admin_menu', 'wpse_53675_remove_admin_menus', 999);
function wpse_53675_remove_admin_menus() {
if( !current_user_can('delete_pages') )
{
remove_menu_page('index.php');
remove_menu_page('edit.php');
remove_menu_page('upload.php');
remove_menu_page('link-manager.php');
remove_menu_page('edit.php?post_type=page');
remove_menu_page('edit-comments.php');
remove_menu_page('tools.php');
}
}