WordPress – Créer un modèle de page dynamique

WordPress

Par défaut, les modèles de page dans WordPress sont statiques ce qui oblige à créer un modèle de page à chaque fois que l’on veut une disposition de page différente.
Voici une méthode simple et rapide pour créer dynamiquement des pages au contenu variable (formulaires, listes, sidebars, …) à partir d’un seul template .


Description

Objectif

Dans la console wp-admin, lorsque l’on créera une page basée sur notre modèle de page dynamique, 2 possibilités s’offriront à nous dans l’éditeur de page:

  • soit, de manière classique, saisir du contenu statique manuellement.
  • soit entrer le code suivant [EhXCode:FonctionPHP] où le paramètre FonctionPHP  est le nom de la fonction qui sera appelée par le template de page.

Méthode

Pour cela nous allons créer:

  • le modèle de page dynamique
  • Un fichier dynamic_pages.php, inclus dans le fichier functions.php et qui contiendra les différentes fonctions PHP pouvant être appelées en fonction du rendu de page désiré.

Création du template Dynamique

Il faut commencer par créer un template de page.
Dans le dossier wp-content du thème créer le fichier Dynamic_Template.php et y insérer les lignes suivantes:

<?php
 // 
 // -------------------------------------------------- Template name 
 // Template Name: Modèle Dynamique 
 // -------------------------------------------------- 
 // 
 
 // -------------------------------------------------- Header */
 get_header(); 

 //-------------------------------------------------- Contenu -->
 $query_page = get_page($page->ID); 
 $contenu_page = $query_page->post_content;
 
 $EhXCode = null;
 if (strpos($contenu_page,"[EhXCode:") !== false){
 $a = explode("[EhXCode:",$contenu_page);
 $b = explode("]",$a[1]);
 $EhXCode = $b[0];
 } 
 if ($EhXCode == null){
 echo $contenu_page;
 }
 else{
 $EhXCode();
 }
 
 // -------------------------------------------------- Footer -->
 get_footer(); 
 ?>
 

Création du fichier dynamic_pages.php

Dans le dossier wp-content du thème créer le fichier dynamic_pages.php et y insérer les lignes suivantes:

<?php
//
// Fonctions Pages Dynamiques
//
//**********************************************************
// Page 01
//**********************************************************
//
function Page01(){
?>
<p> Voici la page 01 </p>
<?php
}
//**********************************************************
// Page 02
//**********************************************************
//
function Page02(){
?>
<p> Voici la page 02 </p>
<?php
}
?>

Il faut maintenant ajouter la ligne suivante au début du fichier functions.php du thème pour charger le fichier dynamic_pages.php.

include('dynamic_pages.php');

Test

C’est terminé.

Il ne reste plus qu’à créer 2 pages de test dans la console wp-admin en leur attribuant le nouveau modèle créé Modèle Dynamique.

Dans le contenu d’une des pages entrer le code  [EhXCode:Page01] et dans l’autre  [EhXCode:Page02].

Tester l’affichage des pages sur le site, la page 01 affiche Voici la page 01 et la page 02 affiche Voici la page 02 entre le header et le footer.

Ce contenu a été publié dans PHP, Sites Web, WordPress, avec comme mot(s)-clé(s) , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.