Comment personnaliser l’admin de WordPress ?

WordPress est l’un des meilleurs CMS du moment, la partie administration est particulièrement bien faite… mais il est toujours utile de la personnaliser et pour cela il faut modifier le fichier « functions.php » de votre thème.

Modifier la page de login

La première ligne de la css permet de masquer la div d’erreur, la barre de retour au site et le lien « mot de passe oublié ». La seconde permet de personnaliser le logo au dessus du formulaire.

function my_custom_login_logo() {
    echo '';
}
add_action('login_head', 'my_custom_login_logo');

Désactiver la barre d’administration

add_filter('show_admin_bar', create_function('$a', "return null;"));

Masquer les mises à jour

// Masque les mises à jour du core de WordPress
add_filter('pre_site_transient_update_core', create_function('$a', "return null;"));

// Masque les mises à jour des thèmes
remove_action('load-update-core.php', 'wp_update_themes');
add_filter('pre_site_transient_update_themes', create_function('$a', "return null;"));

// Masque les mises à jour des plugins
remove_action('load-update-core.php', 'wp_update_plugins');
add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;"));

Supprimer l’éditeur visuel

add_filter('user_can_richedit' , create_function('', 'return false;'), 50);

Créer une sidebar de widgets

if (function_exists('register_sidebar')) {
    register_sidebar(array('name'=>'nom-de-ma-sidebar'));
}

Et pour l’afficher sur votre thème :

dynamic_sidebar('nom-de-ma-sidebar');

Personnaliser l’aide

add_action('load-index.php',	'custom_help_test');

function custom_help_test() { 
    add_filter('contextual_help', 'custom_test_help'); 
}

function custom_test_help($help) {
    // echo $help; // Aide par défaut
    echo "
Mon nouveau texte
"; }

Pour sélectionner la page à customiser, c’est très simple il suffit de mettre le nom de la page après le load du add_action.
Pour les posts : add_action(‘load-edit.php’, ‘custom_help_test’);
Pour les catégories : add_action(‘load-edit-tags.php’, ‘custom_help_test’);

Supprimer le header et le footer

function admin_style() {
    echo '';
    echo "";
}
add_action('admin_head', 'admin_style', 11);

Masquer les widgets du dashboard

function remove_all_dashboard_widgets() {
    global $wp_meta_boxes;
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
}
add_action('wp_dashboard_setup', 'remove_all_dashboard_widgets');

Masquer les widgets du dashboard

function my_clean_admin_menu() {
    global $submenu, $menu;

    // Suppression des fils de Tableaux de bords
    unset($submenu['index.php']);
	
    // Création des nouveaux fils du premier menu
    add_dashboard_page("Articles", "Articles", "administrator", "edit.php", "");
    add_dashboard_page("Mots-clefs", "Mots-clefs", "administrator", "edit-tags.php?taxonomy=post_tag", "");
    add_dashboard_page("Commentaires", "Commentaires", "administrator", "edit-comments.php", "");
    add_dashboard_page("Pages", "Pages", "administrator", "edit.php?post_type=page", "");
    add_dashboard_page("Catégories", "Catégories", "administrator", "edit-tags.php?taxonomy=category", "");
    add_dashboard_page("Bibliothèque", "Bibliothèque", "administrator", "upload.php", "");
	
    // Renomme le titre du menu
    $menu[2][0] = "Blog";

    // Suppression anciens menus
    unset($menu[5]);  // Posts
    unset($menu[10]); // Medias
    unset($menu[15]); // Links
    unset($menu[20]); // Pages
    unset($menu[25]); // Commentaires
    unset($menu[60]); // Apparence
    unset($menu[65]); // Extensions
    unset($menu[70]); // Utilisateurs
    unset($menu[75]); // Outils
    unset($menu[80]); // Réglages
}
add_action('admin_menu', 'my_clean_admin_menu');