NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.

WordPress : Rediriger une page privée vers l'espace membre
Facile

---- Cet article a été modifié : 20 février 2021

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.

Leave a Reply

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

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>