[php wordpress] Modèle de page personnalisé

Dans WordPress, les modèles ou ‘templates‘ sont responsables de la présentation générale des pages, normalement en suivant le thème imposé par la feuille de style CSS. Plus souvent qu’autrement cette présentation se fonde sur le fichier index.php et va inclure l’en-tête, les colonnes (gauche/droite), le contenu principal et le pied de page. Mais que faire si pour la présentation d’une page spécifique, l’on désire exclure les colonnes, ou le  pied de page?

C’est là qu’intervient une page modèle personnalisée. Ce fichier php sera placé dans le dossier racine du thème actif. Lors de l’édition de la page on le choisira parmi les modèles disponibles dans la section attribut. Ci-après, vous trouverez un exemple de modèle personnalisé minimal affichant l’en-tête de votre blogue ainsi que le contenu souhaité, mais excluant les colonnes et le pied de page.

<?php
/*
Template Name: Modèle personnalisé1
*/
?>

<?php get_header(); ?>

<div id="bigcolumn">
<div class="postbox">

<?php if (have_posts()) : while (have_posts()) : the_post();?>
<?php the_content(); ?>
<?php endwhile; endif; ?>

</div>
</div>

<!--<?php get_footer(); ?>-->

[Explication]

  • La ligne 3 indique le nom du modèle personnalisé. C’est le nom que vous sélectionnerez lors du choix du modèle de page lors de la publication de la page.
  • La ligne 7 indique que l’on veut présenter l’en-tête générique de notre thème.
  • Les lignes 9 et 10 sont les balises de style à l’intérieur desquelles s’inscrit le contenu principal du texte . Ces balises sont fermées à la fin du contenu. Ces balises varient selon le thème utilisé. Vous devez mettre les bonnes, à trouver dans le fichier index.php ou dans la feuille de style CSS de votre thème.
  • Les lignes 12, 13 et 14 annoncent le contenu de la page à publier (s’il existe). Il s’insère à l’intérieur des balises de style.

Ce modèle est ultra simple. On pourra le compléter en ajoutant la commande php pour le pied de page  [ get_footer() ] ou celle pour les colonnes [ get_sidebar() ]. De même, on devra ajuster les balises pour la présentation correcte du contenu.  Celle que j’ai utilisée (bigcolumn et postbox) sont spécifiques à mon thème.

Ce modèle personnalisé m’a permis de présenter ma page CONTACT qui normalement s’affichait avec la colonne de gauche et le pied de page. C’est avec un autre modèle semblable que je publie ma page personnalisée des ARCHIVES. Dans ce dernier cas, le modèle personnalisé est le suivant:

<?php
/*
Template Name: Mes Archives
*/
?>
<?php get_header(); ?>
<div id="content">
<p align="center">
<?php if (isset($Archives)) echo
$Archives->display(); ?>
</p>
</div>
<?php get_footer(); ?>

Ici, $Archives est une variable définie dans une extension (plugin) WordPress installée.

[Références]

En rappel, get_header(), get_footer(), get_sidebar() sont les variables WordPress qui peuvent être utilisées dans le modèle afin d’inclure les portions voulues du thème actif.

Il est aussi possible d’inclure n’importe quel fichier du thème  actif en ajoutant la fonction suivante au modèle:

<?php include (TEMPLATEPATH . '/NomDeFichier.php'); ?>

Plus d’information sur les pages et modèles WordPress. Les possibilités de présentations sont infinies.

CODEX – Pages : http://codex.wordpress.org/Pages

CODEX – Template : http://codex.wordpress.org/Templates

CODEX – Stepping into Templates: http://codex.wordpress.org/Stepping_Into_Templates

CODEX – Include tags : http://codex.wordpress.org/Include_Tags

Commentaires

  1. ibanez a écrit:

    Bonjour, je me permet de vos contacter au sujet des pages personaliser wordpress, j’ai suivie vos etapes mais je ne trouve pas ou selectioner le theme pour une nouvelle page. Bien Cordialement,

  2. Paturin a écrit:

    J’ai le même problème qu’ ibanez.

    Le plus drôle c’est qu’en local j’ai cet attribut sur la version 2.9.2 mais je l’ai pas sur mon hébergement avec la même version après y avoir placé mon dossier template.

    ??

  3. gwenm a écrit:

    Salut, il faut creer sa page avec bloc note ou autre, l’ appeler mapage.php -> l’ uploader via ftp dans son thème-> creer une nouvelle page via l’ administration puis choisir le modèle de page dans la sidebar.

Exprimez vous!

*