Scriptease - Codesnippets

Verschiedene Adminbars in WordPress für verschiedene Benutzerrollen

Gerne möchte man es seinen Usern möglichst komfortabel machen und die WordPress Adminbar individuell an die jeweilige Benutzerrolle anpassen, doch wie ist dies möglich? Eigentlich ganz einfach, denn mit den User-Leveln die WordPress für verschiedene Benutzergruppen vergiebt, könnt ihr eure Adminbar individuallisieren.

Grundlage hierfür ist der folgende Code, der in die functions.php eingefügt werden muss:

<?php
$user_id = get_current_user_id();
$user_info = get_userdata($user_id);
$userlevel = $user_info->user_level;
if($userlevel == 10)
{
function my_admin_bar_menu()
{
global $wp_admin_bar;
if (  !is_admin_bar_showing() )
return;

$wp_admin_bar->add_menu(
array(
'id' => 'backend',
'title' => __( 'Backend'),
'href' => site_url().'/wp-admin'
)
);

$wp_admin_bar->add_menu(
array(
'id' => 'mypages',
'title' => __( 'Seiten'),
'href' => site_url().'/wp-admin/edit.php?post_type=page'
)
);

$wp_admin_bar->add_menu(
array(
'id' => 'myupdates',
'title' => __( 'Updates'),
'href' => site_url().'/wp-admin/update-core.php'
)
);

$wp_admin_bar->add_menu(
array(
'id' => 'myplugins',
'title' => __( 'Plugins'),
'href' => site_url().'/wp-admin/plugins.php'
)
);
}
}
else
{

function my_admin_bar_menu()
{
global $wp_admin_bar;
if (  !is_admin_bar_showing() )
return;

$wp_admin_bar->add_menu( array(
'id' => 'custom_menustart',
'title' => __( 'Startseite'),
'href' => site_url().'/') );

$wp_admin_bar->add_menu( array(
'id' => 'custom_menu0',
'title' => __( 'Inhaltsverwaltung'),
'href' => site_url().'/wp-admin/edit.php?post_type=page') );

$wp_admin_bar->add_menu( array(
'id' => 'custom_menu1',
'title' => __( 'Kontaktdaten bearbeiten'),
'href' => site_url().'/post.php?post=13&action=edit') );

$wp_admin_bar->add_menu( array(
'id' => 'custom_menu2',
'title' => __( 'Galerie bearbeiten'),
'href' => site_url().'/admin.php?page=nggallery-manage-gallery') );
}
}
?>

Mit “get_userdata($user_id);” lasst ihr euch die aktuelle User ID ausgeben welche dann in der darauf folgenden Zeile eingestzt wird, um das User-Level von WordPress abzufragen. Darauf folgt dann einfach die Eingabe der entsprechenden Menüpunkte und schon seit ihr fertig.

Die User-Level definieren sich wie folgt:

Administrator 0 – 10
Redakteur 0 – 7
Autor 0 – 2
Mitarbeiter 0 – 1
Abonnent 0
Hinzugefügt von Rolf in Wordpress | 1 Kommentar
Tags: , ,

Die WordPress Adminbar entfernen

Wem die in der WordPress Version 3.1 neu hinzugefügten Adminbar nicht zusagt, oder wer sie störend empfindet und nicht benutzen möchte, der kann sie ganz bequem in der functions.php deaktivieren:

add_filter( 'show_admin_bar', '__return_false' );
Hinzugefügt von Pixelaner in Wordpress | Keine Kommentare
Tags: , , ,

WordPress 3.3 Seitenname aus der Toolbar entfernen

Die Änderung ist in der functions.php vorzunehmen:

function adminbar_render() {
    global $wp_admin_bar;
        $wp_admin_bar->remove_menu('site-name');
}                                                                                                 add_action( 'wp_before_admin_bar_render', 'adminbar_render' );
Hinzugefügt von Pixelaner in Wordpress | Keine Kommentare
Tags: , , ,

WordPress 3.3 WP Logo aus der neuen Toolbar entfernen

In der functions.php:

function adminbar_render() {
    global $wp_admin_bar;
    $wp_admin_bar->remove_menu('wp-logo');
}
add_action( 'wp_before_admin_bar_render', 'adminbar_render' );
Hinzugefügt von Pixelaner in Wordpress | Keine Kommentare
Tags: , , ,

WordPress Adminbar: Nach Abmeldung Weiterleitung auf die Startseite

Folgender Code bewirkt das User die sich über die Adminbar abmelden nicht auf den WP-Login geleitet werden, sondern direkt auf die Startseite der Website. Zusatz: Es wird in der Adminbar ein neuer Button generiert.

functions.php:

<?php
if (is_user_logged_in()) {
  function adminbar_render() {
    global $wp_admin_bar;
    $wp_admin_bar->add_menu (array('id' => 'logmeout', 'title' => __( 'Abmelden' ), 'href' => wp_logout_url(home_url())));
  }
  add_action( 'wp_before_admin_bar_render', 'adminbar_render' );
}
?>
Hinzugefügt von Pixelaner in Wordpress | 2 Kommentare
Tags: , , , ,