管理者以外のユーザーからダッシュボードを非表示にする


8

管理者以外のユーザーからダッシュボードを完全に非表示にして、新しい投稿と投稿の編集ページへのアクセスのみを許可することは可能ですか?ありがとう。

回答:


17

使いやすさに関しては、特にPHPがあまり堅固でないWordPress管理者の場合は、2番目のbrasofloのプラグインの推奨事項(Adminimize)を紹介します。

完全を期すために、これはプログラムで行う方法です。

/* Remove the "Dashboard" from the admin menu for non-admin users */
function wpse52752_remove_dashboard () {
    global $current_user, $menu, $submenu;
    get_currentuserinfo();

    if( ! in_array( 'administrator', $current_user->roles ) ) {
        reset( $menu );
        $page = key( $menu );
        while( ( __( 'Dashboard' ) != $menu[$page][0] ) && next( $menu ) ) {
            $page = key( $menu );
        }
        if( __( 'Dashboard' ) == $menu[$page][0] ) {
            unset( $menu[$page] );
        }
        reset($menu);
        $page = key($menu);
        while ( ! $current_user->has_cap( $menu[$page][1] ) && next( $menu ) ) {
            $page = key( $menu );
        }
        if ( preg_match( '#wp-admin/?(index.php)?$#', $_SERVER['REQUEST_URI'] ) &&
            ( 'index.php' != $menu[$page][2] ) ) {
                wp_redirect( get_option( 'siteurl' ) . '/wp-admin/edit.php');
        }
    }
}
add_action('admin_menu', 'wpse52752_remove_dashboard');

3

これを行うには、管理プラグインを使用できます。

ユーザーの役割に基づいて、ダッシュボード(および他の多くのもの)を非表示にすることができます。ダッシュボードを非表示にする場合、ユーザーがどのページにリダイレクトされるかを定義できます。

わかりませんが、ユーザーロールを変更してダッシュボードをブロックすることはできないと思います(最下位のロールでもアクセスできるため)。

しかし、AdminimizeをRoleプラグインと組み合わせると、非常に細かく調整された管理インターフェースを実現できます。


@JohannesPille-私が行ったWordPressの単一のインストールでは、Adminimizeは実行されません。そしてそれを十分に賞賛することはできません:)
ブラソフィロ

0

これらの2ページもダッシュボードの一部です!投稿の編集へのアクセスを許可している場合は、投稿リストへのアクセスを許可していることを意味します。最下位の役割であるサブスクライバーも、ダッシュボードの一部であるプロファイルページにアクセスできます。あなたの最良のオプションは、フロントエンドの投稿追加/プロフィール編集フォームです。


1
それは、WPのコンテキストでさえ、あいまいな用語である「ダッシュボード」の定義方法に依存します。質問の解釈方法であると思われるwp-admin全体を参照することも、最上位の管理メニューページを参照することもできます。後者の場合、メニューページは非表示にできます。
Johannes Pille、

0

「ユーザーロールエディタ」と呼ばれるプラグインを使用できます。新しい投稿へのアクセス権を付与するためにダッシュボードを回避することはできません。ただし、ロールを制限することはできます...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.