Entfernen Sie das WP-Admin-Menü nach Kunden-Benutzerrolle

Ich habe einen benutzerdefinierten Benutzer, für den ich versuche, den Zugriff zu minimieren. Ich habe ein paar Admin-Menüs in der Symbolleiste, die ich entfernen möchte, aber nur für diese Kunden-Benutzerrolle. Ich habe es derzeit für alle arbeiten, die kein Administrator ist, aber ich kann nicht die If-function nach Benutzerrolle korrigieren. Mein aktueller Code:

//Remove admin menu items if not admin function remove_admin_bar_links() { global $wp_admin_bar, $current_user; if ($current_user->ID != 1) { $wp_admin_bar->remove_menu('updates'); // Remove the updates link $wp_admin_bar->remove_menu('comments'); // Remove the comments link $wp_admin_bar->remove_menu('new-content'); // Remove the content link $wp_admin_bar->remove_menu('wp-logo'); // Remove the WP Logo link $wp_admin_bar->remove_menu('wpseo-menu'); // Remove the Yoast SEO menu } } add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_links' ); 

Solutions Collecting From Web of "Entfernen Sie das WP-Admin-Menü nach Kunden-Benutzerrolle"

Sie können die function wp_get_current_user () verwenden, um die aktuelle Rolle des angemeldeten Benutzers abzurufen

// Entferne Adminmenü-Einträge, wenn nicht admin

 function remove_admin_bar_links() { global $wp_admin_bar, $current_user; $user = wp_get_current_user(); if ( in_array( 'author', (array) $user->roles ) ) { $wp_admin_bar->remove_menu('updates'); // Remove the updates link $wp_admin_bar->remove_menu('comments'); // Remove the comments link $wp_admin_bar->remove_menu('new-content'); // Remove the content link $wp_admin_bar->remove_menu('wp-logo'); // Remove the WP Logo link $wp_admin_bar->remove_menu('wpseo-menu'); // Remove the Yoast SEO menu } } add_action( 'wp_before_admin_bar_render', 'remove_admin_bar_links' );