Dans cet article, nous allons développer 3 templates assez similaires au fichier index. Single – Archive – Page

1 – Single.php :

Le template single va nous permettre d’afficher uniquement l’article qui nous interesse. Sur le principe, il s’agit de la même chose que l’index que WordPress gérera en affichant uniquement un article.

Nous allons donc créer un template que l’on appelera single.php dans lequel nous allons copier la totalité du contenu de l’index.php.

La seule chose que nous allons changer, c’est la commande comments_popup_link () que nous allons remplacer par comments_number (). En effet, la commande comments_popup_link ne fonctionne pas dans le single, autant la supprimer ou la remplacer par quelque-chose qui serve.

Remplacer donc :

<?php comments_popup_link('Pas de commentaires', '1 Commentaire', '% Commentaires'); ?>

par

<?php comments_number('Pas de commentaires', '1 Commentaire', '% Commentaires'); ?>

Nous allons également ajouter une commande qui va nous permettre d’aller chercher dans le template comments.php, tous les informations pour afficher les commentaires. Celui-ci est décrit dans l’article Créer son thème WordPress – 10 – Comments.

Ajouter cette commande juste après la div class the_content et juste avant le php endwhile.

<div class="comments-template">
<?php comments_template(); ?>
</div>

Enfin, la commande php posts_nav_link, ne fonctionne pas avec le single. Il faut la remplacer par les commandes php previous_post_link et php next_post_link.
Remplacer donc la ligne complète :

<?php posts_nav_link(' - ','page suivante','page pr&eacute;c&eacute;dente'); ?>

par

<?php previous_post_link() ?> <?php next_post_link() ?>

2 – Archive.php :

Le template archive va nous permettre d’afficher le résultat des sélections d’archive que nous avons ajouté dans la sidebar.

Vous avez 2 possibilités d’affichage :

  1. Vous affichez les articles sous forme d’extrait :
  2. Pour cela vous créez un fichier archive.php dans lequel vous copié la totalité du contenu du fichier index.php et remplacer la fonction :

    <?php the_content(); ?>
    

    par

    <?php the_excerpt(); ?>
    
  3. Vous affichez les articles en entier :
  4. Pour cela vous créez un fichier archive.php dans lequel vous allez copié la totalité du contenu du fichier index.php sans aucun changement.

Pour ma part, je préfère afficher l’article en entier, mais beaucoup de thème présente ce résultat sous forme d’extrait.

Enfin, nous allons ajouter quelques lignes pour afficher un message en cas de recherche d’archive infructueuse. Pour cela nous allons utiliser une nouvelle commande html else associée à la commande if.

Le script a placer juste avant le endif sera le suivant :

<?php else : ?>
<h2 class="center">Ouch!! Nous n'avons rien par ici!!</h2>

3 – Search.php :

Le template fera apparaître le résultats de vos recherches. Comme pour le template archive, vous pouvez soit afficher la totalité des articles trouvés, soit un extrait de ceux-ci. Créez un fichier search.php que vous renseignerez comme le archive.php selon vos préférences.

Nous allons simplement ajouter une ligne de texte pour rappeler l’objet de la recherche. Cette ligne devra être ajouter juste après l’ouverture du div content.

<h2>R&eacute;sultat de la recherche : <em>'<?php echo $s; ?>'</em></h2>

Et dans le cas où aucun résultat n’est trouvé nous allons ajouter quelques lignes, pour avertir du résultat négatif et permettre de réaliser une nouvelle recherche en ouvrant la fenêtre de recherche.
Le script a placer juste avant le endif sera le suivant :

<?php else : ?><!-- Recherche infructueuese. -->
<h2 class="center">Aucun article trouv&eacute; r&eacute;pondant au crit&egrave;re : '<em><?php echo $s; ?>'</em>. Essayez une autre recherche ?</h2>
<?php include (TEMPLATEPATH . '/searchform.php'); ?>

4 – Page.php :

Enfin, nous allons créer un fichier que nous sauvegarderons sous le nom page.php. Ce fichier affiche les pages que nous créons dans notre admin WordPress. Elles sont également très utiles lorsque vous voulez avoir quelques articles permanents comme le formulaire de contact, la description de votre blog, etc…

Encore une fois ce template se fera sur la base de l’index.php. Copiez la totalité du fichier index.php et nous allons supprimer ce qui ne nous sert pas.

C’est à dire toute la partie concernant les méta-informations, ainsi que le lien des pages entre-elles. Il ne restera que les lignes suivantes :

<?php get_header(); ?>
<div id="wrapperhaut"></div><!-- Permet de faire des coins arrondis ou de forme spécifique. -->
<div id="wrapper">
<div id="content">
  <?php if(have_posts()) : ?>
    <?php while(have_posts()) : the_post(); ?>
      <div>
        <?php the_content(); ?>
      </div>
    <?php endwhile; ?>
  <?php endif; ?>
</div>
<?php get_sidebar(); ?>
</div>
<div id="wrapperbas"></div><!-- Permet de faire des coins arrondis ou de forme spécifique. -->
<?php get_footer(); ?>
</div><!-- Fermeture de la div id page. -->
</body>
</html>

Voir aussi :

Articles Créer son thème WordPress : 12345678 – 9 – 1011

En attendant bon blog.

@ plus

Articles similaires :