Dashboard vor Nicht-Administrator-Benutzern ausblenden

8

Ist es möglich, das Dashboard vollständig vor Benutzern ohne Administratorrechte auszublenden und ihnen nur Zugriff auf die Seite "Neuer Beitrag" und "Beiträge bearbeiten" zu gewähren? Vielen Dank.

Jay
quelle

Antworten:

15

Was die Benutzerfreundlichkeit betrifft, insbesondere für WordPress-Administratoren, die in PHP nicht zu fest sind, habe ich die Plugin-Empfehlung von brasoflo ( Adminimize ) unterstützt.

Der Vollständigkeit halber würde dies programmgesteuert erfolgen:

/* 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');
Johannes Pille
quelle
3

Sie können dazu das Plugin Adminimize verwenden.

Es ist möglich, das Dashboard (und viele andere Dinge) basierend auf der Benutzerrolle auszublenden. Wenn Sie das Dashboard ausblenden, können Sie festlegen, auf welche Seite der Benutzer umgeleitet wird.

Ich bin nicht sicher, aber ich glaube, Sie können die Benutzerrollen nicht ändern, um das Dashboard zu blockieren (da selbst die niedrigste Rolle Zugriff darauf hat).

Wenn Sie jedoch Adminimize mit einem Rollen-Plugin kombinieren, können Sie eine sehr fein abgestimmte Verwaltungsoberfläche erzielen.

brasofilo
quelle
@JohannesPille - Ich habe keine einzige WordPress-Installation durchgeführt, auf der Adminimize nicht ausgeführt wird. Und kann es nicht genug loben :)
brasofilo
0

Auch diese beiden Seiten sind Teil des Dashboards! Wenn Sie Zugriff auf Bearbeitungsbeiträge gewähren, bedeutet dies, dass Sie Zugriff auf die Beitragsliste gewähren. Die am wenigsten fähige Rolle, der Abonnent, hat auch Zugriff auf die Profilseite, die auch Teil des Dashboards ist! Ihre beste Option wäre ein Formular zum Hinzufügen / Bearbeiten von Front-End-Posts.

Rutwick Gangurde
quelle
1
Das hängt davon ab, wie Sie "Dashboard" definieren, ein Begriff, der selbst im WP-Kontext nicht eindeutig ist. Es kann sich entweder auf den gesamten wp-admin beziehen, wie Sie die Frage interpretiert haben, oder auf die oberste Admin-Menüseite. Im letzteren Fall kann die Menüseite ausgeblendet werden.
Johannes Pille
0

Sie können ein Plugin namens "User Role Editor" verwenden. Sie können das Dashboard nicht vermeiden, um ihnen Zugriff auf den neuen Beitrag zu gewähren. Sie können jedoch ihre Rolle einschränken ...

Nasir Zia
quelle