Customiser l’admin de WordPress

1 mai 2013 nakama

Développement

(Cet article a été écrit il y a très longtemps, dans une galaxie très très lointaine)

Nous allons voir comment faire de l’admin WP, VOTRE admin personnalisé.

J’entends par personnalisation, laisser uniquement ce dont on va avoir besoin.

Imaginons, que l’on souhaite ne plus afficher les articles de wordpress, que ce soit dans le menu de gauche ou dans la bar d’admin.

Il suffit simplement d’ajouter ces quelques lignes dans le fichier functions de votre thème.

// supprimera la partie article du menu de gauche
function supp_admin_menu () {
    // Posts
    remove_menu_page( 'edit.php' );
}

add_action( 'admin_init', 'supp_admin_menu' );

// supprimera la partie article de la bar d admin
function supp_admin_bar_links() {
    global $wp_admin_bar;

    $wp_admin_bar->remove_menu('new-post');
}

add_action( 'wp_before_admin_bar_render', 'supp_admin_bar_links' );

Le résultat :

admin-wp

Pour le menu de gauche, tout peut être retirer grâce aux slugs des pages.

function supp_admin_menu () {
   //  Pages
   remove_menu_page( 'edit.php?post_type=page' );

   //  Commentaires
   remove_menu_page( 'edit-comments.php' );

   //  Options de discussion
   remove_submenu_page( 'options-general.php', 'options-discussion.php');
}

add_action( 'admin_init', 'supp_admin_menu' );

Pour la bar d’admin, en faisant un print_r sur la global, on peut voir tout ce qui s’y trouve et ainsi savoir quel élément supprimer comme par exemple le logo WP ou la partie commentaires.

function supp_admin_bar_links() {
    global $wp_admin_bar;
    // supp le logo de wordpress
	$wp_admin_bar->remove_menu('wp-logo');
    // supp le lien des commentaires
	$wp_admin_bar->remove_menu('comments');

}
add_action( 'wp_before_admin_bar_render', 'supp_admin_bar_links' );

Jusque là c’est fun 🙂 ,mais ce serait mieux si on pouvait rajouter des éléments dans la bar d’admin ?

function supp_admin_bar_links() {
    global $wp_admin_bar;
    $wp_admin_bar->add_menu(
    	array(
	        'title' => 'Ajouter un média',
	        'href'  => 'media-new.php',
	    )
    );
}
add_action( 'wp_before_admin_bar_render', 'supp_admin_bar_links' );

Le résultat :

media

Évidemment, ce ne sont que des exemples simples et basiques.
Pour connaitre tous les arguments possibles pour add_menu : un petit tour sur le Codex.

Mots-clés associés à cet article :

Retrouvez d'autres articles par catégories