Conseils, lifestyle et shopping pour les cadres en entreprise

Comment créer des url dynamiques sous WordPress ? (technique avancée)

Article mise à jour le: 19 août 2016

Attention, techinque avancée! Les url dynamiques, vous en avez déjà sûrement entendu parler… il s’agit de ces url étranges avec des points d’interrogation et des paramètres du type fichier.php?parametre1=xxxxx&parametre2=yyyy. Voici comment en créer si vous travaillez avec WordPress.

wordpress

Il s’agit d’une technique classique dans le web, mais relativement avancée pour les utilisateurs de wordpress avec une expérience de programmation. Le but de ces URLs est de pouvoir coupler votre base de données worpdress avec une ou plusieurs tables externes et de créer des formats de page dédiés pour ces bases. Par exemple des informations que vous seriez allé parser à droite à gauche. Nous sommes donc relativement loin d’une utilisation « classique » du CMS préféré des blogueurs mais qui montre bien la puissance de wordpress et tout ce qu’il est possible de faire avec sans jamais toucher le code source de l’application core.

Pour faire cela, rien de plus simple. Vous allez dans un premier temps ouvrir le fichier function.php situé dans le template que vous utilisez. Et oui, on ne touche jamais le coeur applicatif de wordpress.

Tout en bas de ce fichier, vous allez coller les lignes suivantes:

function add_regex(){

        add_rewrite_rule('dossier/(.*).html?', 'index.php?pagename=dossier&param1=$matches[1]','top');
}
add_action('init','add_regex');
function add_query_vars_filter( $vars ){
  $vars[] = "param1";
  return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );

Explication des lignes

Il s’agit de deux fonctions et de deux hooks wordpress qui vont servir à faire comprendre à wordpress que vous allez créer des url dynamiques. La deuxième fonction, « add_query_vars($vars) » va permettre en quelque sorte de « référencer » le paramètre utilisé. Il reconnaîtra à l’avenir le tag « param1 » dans les URL.

La première fonction permet de faire de l’url rewriting sous wordpress. Au lieu de modifier comme d’habitude votre fichier .htaccess qui permet de faire cela, vous allez créer la fonction add_regex() qui va permettre de réecrire l’URL de façon à la rendre seo compatible et de la protéger d’attaques extérieures.

Prochaine étape: flusher votre BDD (Base De Données)

La prochaine étape est relativement simple, il vous suffit pour cela de vous rendre sur votre back-office sur la page « permaliens ». Vous n’allez rien modifier, vous allez simplement « enregistrer » ==> cela aura pour effet de réécrire les données de redirection (l’url rewriting effectuée précédemment) dans la table wp_options de votre base de données.

Vous pourrez ensuite passer à l’aide d’un script php toutes les informations que vous souhaitez à une page qui sera en charge de les répertorier.

Simple non ?

Je partage maintenant l'article avec mon réseau!

Cliquez, partagez!

Le coin des achats professionnels