Créer une Page Template pour WordPress

Pour un récent projet, j’ai du utiliser WordPress comme CMS et ajouter une page Blog. Vous l’avouerez, cela ne manque pas de piquant pour un moteur de blog !

L’idée est donc de créer une PAGE et d’associer une template qui régentera l’affichage des informations tel qu’on le souhaite. Dans mon cas, je compte tout simplement afficher un blog avec les derniers articles saisies et gérer la pagination.

Pour ce, rien de très complexe… Tout d’abord, rendez-vous dans votre framework préféré… et commençons par créer un fichier PHP que nous nommerons blogpage.php.

Ensuite, saisissez le code suivant :

<?php
/*
Template Name: Page Blog
*/
?>

<?php get_header(); ?>
<!-- Afficher les posts et gestion de la pagination -->
<?php $page = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("showposts=5&paged=$page"); ?>

 <div id="colLeft">

 <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
 <!-- begin post -->
 <div>
 <h1><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>
 <div>
Publié par <?php the_author(); ?> dans <?php the_category(', ') ?> -<?php comments_popup_link('Aucun commentaire', '1 commentaire', '% commentaires'); ?>
 <div><?php the_time('M') ?><br/><strong><?php the_time('j') ?></strong></div>
 </div>
 <?php the_content(__('read more')); ?>
 </div>
 <!-- end post -->

 <?php endwhile; ?>

 <div>
 <div><?php next_posts_link('Plus ancien') ?></div>
 <div><?php previous_posts_link('Plus récent') ?></div>
 </div>
 <?php else : ?>
 <p>L'information demandée n'existe pas ou a été déplacée.</p>
 <?php endif; ?>
 </div>
 <!-- end colLeft -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Tout d’abord, nous expliquons à WordPress que nous souhaitons créer un nouveau modèle avec les lignes suivantes :

<?php
/*
Template Name: Page Blog
*/
?>

Dans WordPress, vous aurez accès à votre template à cet endroit :
Créer une Page Template pour WordPress

L’affichage est géré par la combinaison de « query_posts » (on interroge la BDD) et une boucle (while (have_posts()) : the_post();). Tout ce que nous avons à faire, c’est ajouter les paramètres dont nous besoin… en l’occurrence une variable « $page » combiné à 3 fonctions « get_query_var() », « next_posts_link() » et « previous_posts_link() » pour gérer la pagination des posts.

<!-- Afficher les posts et gestion de la pagination -->
<?php $page = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("showposts=5&paged=$page"); ?>

 <div id="colLeft">

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

Le reste est du décor ! Dans mon thème, j’affiche le Header. Puis, je gère le DIV de gauche. Enfin, reste juste à ajouter le SideBar et le Footer pour finaliser la page.

Cet exemple est en exploitation sur Aide au Vietnam

Site Internet : Free Tools
Source d’infomation : Codex WordPress
Licence : Gratuit

11 Commentaires

  1. Benoit
  2. Thomas
  3. Julien B.
  4. Julien B.
  5. myrmex

Reply Cancel Reply