Tips & tricks : dominez l’administration WordPress

Il est parfois nécessaire de limiter certaines fonctions de WordPress, pour le site d’un client qui a des droits admin, pour masquer le message de validation de l’adresse administrateur, ou encore pour désactiver la confirmation de déconnexion et simplifier ainsi la sortie de l’administration. Les snippets PHP sont là pour ça !

Notez bien que les astuces indiquées ci-dessous sont à utiliser avec un thème enfant (et non avec un thème source), au pire il est possible d’ajouter des snippets PHP avec une extension comme Code Snippets.

Désactiver les mises à jour automatiques de WordPress

Cette fonctionnalité apparue avec WP 5.5 est pratique dans reste dangereuse sur un site utilisant de nombreuses extensions ou un constructeur de page par exemple. J’utilise le snippet ci-dessous sur les sites de mes clients qui ont des droits admin, cela évite qu’ils activent par erreur les mises à jours et me permet de garder la main sur l’infogérance de leur site WordPress.

Voici le snippet (précédé d’une légende explicative facultative) :

// DÉSACTIVER LES MISES À JOUR AUTOMATIQUES WP 5.5
add_filter( 'auto_update_plugin', '__return_false' );

Désactiver la confirmation de l’adresse e-mail de l’administrateur

Vous avez déjà remarqué ce message de confirmation de l’adresse e-mail de l’administrateur du site. Il survient tous les 6 mois après une connexion et n’a pas grand intérêt pour mes clients, je le désactive avec le snippet ci-dessous :

// DÉSACTIVER LA CONFIRMATION D'EMAIL ADMIN WP
add_filter( 'admin_email_check_interval', '__return_false' );
Tips & tricks : <b>dominez</b> l’administration WordPress 1

Désactiver la confirmation de déconnexion

Tips & tricks : <b>dominez</b> l’administration WordPress 2

Ce message de confirmation survient dans plusieurs cas et il est superflu dans le cas d’une boutique WooCommerce, je le désactive avec le snippet ci-dessous.

// DÉSACTIVER LA CONFIRMATION DE DÉCONNEXION
add_action('check_admin_referer', 'logout_without_confirm', 10, 2);
function logout_without_confirm($action, $result)
{
    if ($action == "log-out" && !isset($_GET['_wpnonce'])) {
        $redirect_to = isset($_REQUEST['redirect_to']) ? $_REQUEST['redirect_to'] : 'https://broichessac.fr/';
        $location = str_replace('&amp;', '&', wp_logout_url($redirect_to));;
        header("Location: $location");
        die;
    }
}

Rediriger vers la page d’accueil à la déconnexion WP

Il est très utile, sur les sites WooCommerce et plus généralement sur les sites de mes clients, de rediriger vers la page d’accueil du site plutôt que de rester sur la page de connexion. cela simplifie la navigation à la déconnexion.

// REDIRECTION VERS LA PAGE D'ACCUEIL APRÈS LA DÉCONNEXION
add_action('wp_logout','wpm_home_redirect_after_logout'); 

function wpm_home_redirect_after_logout(){  
  wp_safe_redirect( home_url('/') );  
  exit();  
}  

Désactiver le menu des commentaires dans l’administration WordPress

Si le site n’utilise pas les commentaires le menu idoine est aussi superflu, je le supprime du menu latéral et de la barre de l’administration avec le snippet ci-dessous :

// MASQUER LE MENU DES COMMENTAIRES
function remove_menu_items() {
 global $menu;
 $restricted = array(__('Links'), __('Comments'));
 end ($menu);
 while (prev($menu)){
 $value = explode(' ',$menu[key($menu)][0]);
 if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){
 unset($menu[key($menu)]);}
 }
 }
add_action('admin_menu', 'remove_menu_items');
function remove_comments(){
        global $wp_admin_bar;
        $wp_admin_bar->remove_menu('comments');
}
add_action( 'wp_before_admin_bar_render', 'remove_comments' );

Supprimer le logo WordPress dans la barre de l’administration WP

Un petit souci cosmétique pour masquer le logo WordPress en haut à gauche de l’administration et son menu générique, ainsi mes clients n’iront pas gambader dans la communauté WP.

// SUPPRIMER LE LOGO WORDPRESS DE LA BARRE D'ADMINISTRATION
function remove_wp_logo( $wp_admin_bar ) {
	$wp_admin_bar->remove_node( 'wp-logo' );
}
add_action( 'admin_bar_menu', 'remove_wp_logo', 999 );

Sources : WP Channel, WP Marmite, Creazo.fr.

Vous aimerez aussi

2 réponses

  1. Bonjour Momo,
    Petite question j’avait bien installé le code suivant dans fonctions.php de mon thème enfant et le MAJ 5.7.2 c’est fait quand même, une idée.

    // DÉSACTIVER LES MISES À JOUR AUTOMATIQUES WP 5.5
    add_filter( ‘auto_update_plugin’, ‘__return_false’ );

    J’utilise OceanWP avec sont thème enfant.

    Bonne journée

    1. Attention, le snippet ne concerne que les mises à jours des extensions pas de WordPress.
      Pour le core de WordPress il te faut mettre ce snippet (mais je le déconseille) :
      define( 'WP_AUTO_UPDATE_CORE', false );

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Autres catégories du Blog

Partager cette publication