0

私は多くのサイトを含む WP ネットワークを開発しています。それらはすべて同じ大規模なユーザー グループによって編集されます。ただし、これらすべてのユーザーにスーパー管理者権限を付与したくないので、ユーザーがすべてを編集/作成できる「スーパーエディター」ロール/ユーザーグループを作成できるかどうか疑問に思っていますネットワーク内のサイトを管理できますが、ネットワークなどを実際に管理することはできません。

ブログのクローンを作成し、あるブログから別のブログにユーザーをコピーできるプラグインを見つけましたが、ユーザーを一度作成して適切なネットワーク全体の特権を与え、同様にネットワークからユーザーを一度削除して、権限を取り消します。

手がかりはありますか?私のGoogle-Fuはこれで失敗しています。

前もって感謝します!

4

2 に答える 2

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');

この 2 つのリンクがさらに役立つことを願っています。

[1] http://codex.wordpress.org/Function_Reference/add_role

[2] http://codex.wordpress.org/Function_Reference/add_cap

ありがとう。

于 2013-10-15T05:14:03.260 に答える
0

Krunai Shah の回答に従って、多くの権限を持つカスタム ロールを作成します。次に、Must 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: プラグインをマルチサイトに適応させるには? .

于 2013-10-15T20:20:53.250 に答える