Benutzerdefinierte Admin-Toolbar mit Abmelde-Link und Suche im Backend

Plugin zur Veränderung der Admin-Toolbar:

  • Das WordPress-Logo, das Profil-Menü und die reguläre Suchfunktion im Frontend werden entfernt
  • Eine Suchfunktion im Frontend und Backend, ein „Abmelden“-Link und ein „Profil bearbeiten“-Link unter „Meine Seiten“ werden hinzugefügt

<?php
/*
Plugin Name: Custom Adminbar
Plugin URI: https://wpdoc.de/?p=214
Description: Benutzerdefinierte Adminbar mit Abmelde-Link und Suche im Backend.
Author: Johannes Ries
Author URI: http://johannesries.de
Version: 1.0
*/

function custom_admin_bar() {
$form = '<form action="' .esc_url( admin_url('edit.php') ). '" method="get" id="adminbarsearch">';
$form .= '<input name="s" tabindex="1" type="text" value="" maxlength="54" />';
$form .= '<input type="submit" value="' .__('Search'). '"/>';
$form .= '</form>';

global $wp_admin_bar;
$wp_admin_bar->remove_menu('wp-logo');
$wp_admin_bar->remove_menu('my-account');
$wp_admin_bar->remove_menu('search');
$wp_admin_bar->add_menu( array(
'id'    => 'wp-custom-edit-profile',
'title' => 'Mein Profil bearbeiten',
'parent'=>'my-sites',
'href'  => self_admin_url('profile.php'),
'meta' => array('title' => 'Passwort, E-Mail-Adresse und weitere Details &auml;ndern')
));
$wp_admin_bar->add_node( array(
'parent' => 'top-secondary',
'id'    => 'custom-logout',
'title' => 'Abmelden',
'href'  => wp_logout_url(),
'meta' => array('title' => 'Abmelden')
) );
$wp_admin_bar->add_menu(
array(
'parent' => 'top-secondary',
'id' => 'custom-search',
'title' => $form,
'meta' => array('class' => 'admin-bar-search')
)
);
}

add_action(
'plugins_loaded',
function () {
if ( is_admin_bar_showing() ) {
add_action('wp_before_admin_bar_render','custom_admin_bar');
}
}
);
?>

Aktualisierungsbenachrichtigung nur für Nicht-Admins MU/Singlesite

Plugin oder via general-security-usability.php

// Aktualisierungshinweis nur für Admins in Singlesite-Umgebung bzw. nur für Superadmins in Multisite-Umgebung
add_action(
 'plugins_loaded',
 function () {
 if (( is_multisite() && !current_user_can('manage_network') ) || ( !is_multisite() && !current_user_can('create_users')))  {
 add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
 add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
 add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );
 }
 }
);

Letzte Bearbeitungen Admin Dashboard Widget

Plugin

add_action( 'wp_dashboard_setup', 'dashboard_last_edits_register_dashboard_widget' );
 function dashboard_last_edits_register_dashboard_widget()
 {
 wp_add_dashboard_widget(
 __FUNCTION__, 'K&uuml;rzlich bearbeitete Inhalte', 'dashboard_last_edits_render_dashboard_widget');
 }
function dashboard_last_edits_render_dashboard_widget() { 
 $posts = get_posts(
 array ('numberposts' => 10, 'post_type' => array ( 'post', 'page' ), 'orderby' => 'modified')
 );
 if ( ! $posts )
 {
 print 'Keine Bearbeitungen gefunden. <a href="'
 . admin_url( 'post-new.php' ) . '">Einen Beitrag schreiben.</a>';
 }
 else
 {
 echo '<ul>';
 foreach ( $posts as $post )
 { printf('<li>&raquo; <a href="%1$s">%2$s</a></li>', esc_html( get_permalink( $post->ID )),
 esc_html( $post->post_title )); }
 echo '</ul>';
 }
}