it-swarm.com.de

Schaltfläche "Neue Seite hinzufügen" ausblenden

Ich möchte die Schaltfläche "Neue Seite hinzufügen" für Benutzer ausblenden, die keine Administratoren sind. Es ist mir gelungen, das Untermenüelement in der rechten Spalte wie folgt auszublenden:

$page = remove_submenu_page( 'edit.php?post_type=page', 'post-new.php?post_type=page' );

Ich habe versucht, die Schaltfläche auf der Seite mit dem in dieser Frage vorgeschlagenen CSS auszublenden, aber es hat nicht funktioniert. Wie kann ich das erreichen? Hier ist mein gescheiterter Versuch:

if (isset($_GET['post_type']) && $_GET['post_type'] == 'page') {
            echo '<style type="text/css">
            #favorite-actions, .add-new-h2, .tablenav { display:none; }
            </style>';
        }
2
aggtr

Dies kann mit nur CSS einfach genug erreicht werden. Zuerst werden wir eine Funktion hinzufügen, die eine Klasse basierend auf der Rolle des Benutzers an das Body-Tag ausgibt. Dann werden wir ein Stylesheet in die Warteschlange stellen, das im Admin angezeigt wird. Verwenden Sie dann die Klasse im Körper, um die Schaltfläche anzuvisieren und auszublenden.

Hinzufügen einer Body-Klasse basierend auf der Benutzerrolle - Hinzufügen zu functions.php

function custom_role_admin_body_class( $classes ) {
    global $current_user;
    foreach( $current_user->roles as $role )
        $classes .= ' role-' . $role;
    return trim( $classes );
}
add_filter( 'admin_body_class', 'custom_role_admin_body_class' );

Admin Styles einreihen - Zur functions.php hinzufügen

function custom_admin_styles(){
    wp_enqueue_style(
        'admin_css', 
        get_stylesheet_directory_uri() . '/css/admin-styles.css', array(), filemtime( get_stylesheet_directory() . '/css/admin-styles.css') 
    );
}
add_action('admin_enqueue_scripts', 'custom_admin_styles');

Verwenden Sie Body Class zum Ausblenden der Schaltfläche für Benutzer ohne Administratorrechte

body.edit-php.post-type-page:not(.role-administrator) .page-title-action {
    display: none;
}
1
RiddleMeThis

installiere User Role Editor dieses Plugin, das dir die Möglichkeit gibt, Optionen nach Benutzerrollen auszublenden und mich darüber zu informieren, ob dies funktioniert oder nicht, damit ich eine andere Option dazu geben kann.

1
Tejas Gajjar