La redirection avec WordPress

Quand on programme un site Web, il est souvent nécessaire d'afficher une autre page Web, que ce soit après avoir rempli 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.

▼Publicité

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( 'http://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, par exemple, vous désirez effectuer une redirection dans la fonction de rappel d'un « shortcode », il vous faudra plutôt 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( "Continuer", "montheme" ); ?>"  name="continuer"/>

   <input type="button" value="<?php _e( "Annuler", "montheme" ); ?>" 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

Merci de partager ! Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestShare on StumbleUponEmail this to someone
Catégories