NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.
Publié le : 11 avril 2018 - Modifié le : 17 janvier 2022
Temps de lecture : 1 minute, 44 seconds - 211 mots
Partager la publication "Template redirect WordPress : Rediriger une page privée vers l’espace membre"
Dans ce petit tutoriel, on va se donner une fonction qui va nous permettre de rediriger une page privée. Par défaut, toutes les pages privées WordPress sont bien sur protégées par la condition que seul les administrateurs ont accès à ces pages et que si les administrateurs ne sont pas connectés, la page est redirigée sur le 404.php.
Nous voulons bien sur garder les mêmes conditions, sauf que nous souhaitons que si on test notre page privée en administrateur non connecté, on souhaite la rediriger vers la page d’accueil.
Dans notre fonction que nous ajoutons dans notre functions.php, on doit valider deux conditions, la première est de demander si on va sur le 404, puis on valide si une requête est valide pour une page d’ordre privée.
Template redirect WordPress : Rediriger une page privée
////////////////////////////////// Redirect private page //////////////////////////////////////// add_action('template_redirect', 'themespress_private_content_redirect_to_login', 9); function themespress_private_content_redirect_to_login() { global $wp_query, $wpdb; if (is_404()) { $private = $wpdb->get_row($wp_query->request); $location = home_url(); if( 'private' == $private->post_status ) { wp_safe_redirect($location); exit; } } }
Comme vous pouvez voir que nous remplissons bien les conditions et que nous souhaitons créer une variable $location et de déterminer le chemin de redirection. Dans notre exemple nous avons choisi home_url().
Et ensuite en validant que c’ert bien une page privée, on éxécute un wp_safe_redirect de la variable $location .
NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.