Vous cherchez un moyen de rediriger les pages d'administration vers n'importe quel emplacement ? Bien qu'il existe probablement un plugin pour cela, nous avons créé un extrait de code rapide que vous pouvez utiliser pour rediriger les pages d'administration vers n'importe quel emplacement dans WordPress.
L'extrait suivant vous permettra de rediriger n'importe quelle page d'administration vers l'emplacement de votre choix en fonction des capacités de l'utilisateur. Une autre option serait de remplacer wp_redirect par wp_die("some custom message"); pour afficher un message au lieu de rediriger.
Instructions :
Il vous suffit d'ajouter ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site :
function wpsnipp_admin_pages_redirect() {
global $pagenow;
$admin_pages = array(
'edit-tags.php',
'edit-tags.php',
'link-manager.php',
'options-writing.php',
'options-reading.php',
'options-discussion.php',
'options-media.php',
'options-privacy.php',
'options-permalink.php',
);
if(in_array($pagenow, $admin_pages)){
wp_redirect( admin_url('/') ); exit;
}
}
if(!current_user_can('edit_post')){
add_action('admin_init', 'wpsnipp_admin_pages_redirect');
}
Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière de copier / coller correctement des extraits de code dans WordPress, afin de ne pas casser accidentellement votre site.
Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : 15 meilleurs outils de marketing de contenu et comment créer un formulaire de contact dans WordPress.
Et si vous voulez rediriger une URL comme celle-ci ? admin.php?page=account_page
Vous devrez peut-être également vérifier la valeur de $_GET['page'].
Vous ne pouvez pas utiliser current_user_can() dans la portée globale, au sein d'un plugin, car cela provoquera une erreur fatale : Call to undefined function wp_get_current_user().