WordPress : création d’un modèle de page et mise en pratique

L’un des fonctionnalités les plus intéressantes de WordPress dans une utilisation CMS est la prise en charge de « modèles de page ». Autrement dit des gabarits qui permettent de modifier l’apparence, le contenu ou bien les deux d’une page à une autre. Une fonctionnalité indispensable pour concevoir des sites vraiment personnels et personnalisables. Très facile à appréhender la gestion des modèles de page se fait via le thème.

La création d’un nouveau modèle de page :

Un modèle de page est un fichier php qui sera appelé (et affiché) sur chaque page (au sens WordPress du terme..) dont il sera le modèle. La façon la plus rapide d’en créer un nouveau est de copier puis de renommer le fichier de modèle par défaut pour les pages livré avec WordPress (page.php dans la version 3) et de lui ajouter l’entête suivante :

/*
Template Name: Corporate
*/

L’utilisation d’un modèle de page :

Une fois le nouveau modèle de page crée, il suffira de l’appliquer à votre page lors de son édition via le menu dédié « Attribut de la page » :

Le modèle de page que vous venez de créer doit normalement apparaître avec intitulé défini dans l’entête du fichier. Ici « Corporate »

Mise en pratique

Puisque nous n’avons fait que renommer le fichier par défaut pour créer un nouveau modèle de page, aucun changement ne sera visible sur la page en question. L’intérêt vous l’aurez compris est donc de proposer – par exemple – une structure html différente (Modèle 1 colonne, modèle 2 colonnes etc…) dans chaque nouveau modèle. Mais pas seulement. En effet, se contenter de renommer un modèle existant offre déjà des possibilités très intéressantes grâce à la feuille de style et à l’utilisation de la fonction body_class(). Ainsi, en définissant votre balise body comme ceci :

<body <?php body_class(); ?>>

Vous obtiendrez cela :

<body class="page page-id-27 page-child parent-pageid-4 page-template page-template-corporate-php logged-in" id="wrapper">

Notez la présence de la classe page-template-corporate-php qui vous permettra de personnaliser le look de toute vos pages ayant ce modèle.