Formation PUB020 : WordPress, 2023 Divers

51.4 La redirection avec WordPress


Quand on programme un site Web, le code d'une page Web doit parfois passer le contrôle à une autre page Web, que ce soit après avoir enregistré les informations d'un formulaire ou encore en réaction à une condition particulière.

On dira alors qu'on effectue une redirection.

Il est possible d'effectuer une redirection côté serveur avec un langage de programmation comme PHP. Il est également possible d'effectuer une redirection côté client à l'aide de JavaScript.

Redirection serveur

Avec PHP, on peut demander d'afficher une autre page par programmation à l'aide de la fonction header().

Ceci est toujours vrai avec WordPress. Cependant, les concepteurs de WordPress ont mis à notre disposition un fonction plus intéressante : wp_redirect(). Cette fonction s'occupera d'appeler header() après avoir exécuté quelques filtres.

Il est donc préférable d'utiliser wp_redirect() plutôt que d'appeler directement header().

Ex :

WordPress (PHP)

wp_redirect( 'https://monsiteweb.com' );

WordPress (PHP)

$accueil = get_home_url();

...

wp_redirect( $accueil );

Redirection JavaScript

Attention : il n'est pas possible d'effectuer une redirection serveur une fois que le programme PHP a commencé à envoyer du code au navigateur.

Si vous désirez effectuer une redirection dans la fonction de rappel d'un « shortcode », il vous faudra utiliser une redirection JavaScript.

Ex :

PHP

...

?>

<script>

   <!--

      function ma_fonction_de_redirection() {

         window.location= <?php echo "'" . $page_a_afficher . "'"; ?>;

      }

   //-->

</script>

<?php

...

Cette fonction JavaScript pourra, par exemple, être associée à un clic sur un bouton.

Ex :

PHP

<form ...>

   <input type="submit" value="<?php _e( "Soumettre", "mon-domaine-de-localisation" ); ?>"  name="soumettre"/>

   <input type="button" value="<?php _e( "Annuler", "mon-domaine-de-localisation" ); ?>" name="annuler" onclick="ma_fonction_de_redirection()" />

</form>

Pour plus d'information

« Function Reference/wp redirect ». Codex WordPress. http://codex.wordpress.org/Function_Reference/wp_redirect

« WordPress Page Redirect ». Shiba adventures in WordPress. http://shibashake.com/wordpress-theme/wordpress-page-redirect

« wp_redirect after insert post with shortcode ». Forum WordPress. http://wordpress.org/support/topic/wp_redirect-after-insert-post

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre