2013-10-14 2 views
0

나는 다수의 사이트를 포함하는 WP 네트워크를 개발 중입니다. 모든 사이트는 동일한 대규모 그룹의 사용자에 의해 편집 될 것입니다. 나는이 모든 사용자에게 슈퍼 관리자 권한을 부여하지 않는 편이 낫다고 생각합니다. 따라서 사용자가 모두 편집/작성할 수있는 "수퍼 편집기"역할/사용자 그룹을 만들 수 있는지 궁금합니다. 네트워크 내 사이트는 있지만 네트워크를 실제로 관리 할 수는 없습니다.사이트의 WP 네트워크 용 슈퍼 편집기/슈퍼 작성자?

블로그를 복제하고 한 블로그에서 다른 블로그로 사용자를 복사 할 수있는 플러그인을 찾았지만 간단하게 사용자를 한 번 만들고 적절한 네트워크 와이드 priv를주고, 네트워크에서 한 번 사용자를 삭제하여 privs를 취소하십시오.

실마리가 있습니까? 내 Google-Fu가이 문제에 실패했습니다.

미리 감사드립니다.

답변

1

이 코드를 테마 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

감사합니다.

+0

감사합니다. Krunal 및 @brasofilo. 이것은 상당히 도움이되지만, 실제로 각 사이트에 추가하지 않고 네트워크의 모든 사이트에 대한 ** 네트워크 전체 ** 편집자 액세스 권한을 부여하는이 작업에 정말로 어려움을 겪고있는 부분에 대해서는 언급하지 않습니다. 개별적으로 이 네트워크에는 100 개의 사이트가 있으므로 사용자를 추가하고 제거하면 문제가 빨리 발생합니다. 내가 찾고있는 것은 수퍼 관리자 상태를 부여하는 것이 모든 사이트에 액세스하는 것과 마찬가지로 네트워크의 모든 사이트에 대해 에디터 수준의 액세스 권한을 부여하는 역할을 만드는 방법입니다. 어떤 도움을 주셔서 감사합니다! – nunya

0

크루 나이 샤 응답에 따라 많은 권한을 가진 사용자 지정 역할을 만드십시오. 그런 다음 필요에 following codeMust Use 플러그인을 작성하고 연마 :

<? 
/** 
* 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'); 
    } 
} 

유용한 Q&A: How to adapt my plugin to Multisite?합니다.

관련 문제