Thème pour Wordpress : La page d'accueil

On crée un fichier différent pour la page d'accueil afin de lui réserver un contenu et une présentation différents. Cependant elle différe peu de la page d'article.

Structure de la page

Elle se distingue de la page consacrée à un article par la boucle pour afficher une liste de résumés, et par les composants interne que l'on choisit d'afficher, même si la plupart sont communs à ceux de la page d'article.

Les en-tête, pied de page et panneaux latéraux sont identiques.

Page globale

<html>
<head></head>
<body>

<?php get_header(); ?>

<h1> 
<?php 
if (is_home()) bloginfo('name');
elseif (is_category()) single_cat_title();
elseif (is_search()) bloginfo('name');
else wp_title('',true);
?> </h1> <?php while ( have_posts() ) : the_post() ?> <div id="<?php the_ID() ?>" class="excerpt"> <h2><a href="<?php the_permalink() ?>"> <?php the_title() ?></a></h2> <div class="content"> <?php the_content('<span class="more">'.__('More...', '').'</span>'); ?> </div> </div> <?php wp_link_pages(); ?> <?php endwhile ?> <?php get_sidebar() ?> <?php get_footer(); ?> </body> </html>

On affiche selon le contexte le titre du site, la catégorie, le sujet de recherche. C'est une option que l'on peut supprimer si on la juge inutile. On peut n'afficher que la catégorie:

<h1> 
   <?php if(is_category()) single_cat_title(); ?>
</h1> 

L'appel en boucle de la fonction the_post() affiche le contenu des derniers billets, ou un résumé s'il a été défini ou encore le début de l'article jusqu'à la balise <!--more--> si elle est insérée dans le code de l'article.

L'utilisation de l'identifieur du billet comme ID du bloc de donnée pourra avoir un usage ultérieur.

Avec le titre de l'article et le lien, on construit un titre de sommaire permettant d'accéder à l'article. Celui-ci est dans une balise h2 puisqu'il y a plusieurs titres dans la page d'accueil.

On a choisi d'insérer un bouton "More" pour afficher la suite, mais cela fait double emploi avec le lien dans le titre, on pourrait donc le supprimer et laisser la fonction the_content() sans paramètre.

Détail de la liste des articles

Les composantes de l'article:

<h2><a href="<?php the_permalink() ?>"> <?php the_title() ?></a></h2>
<?php
 the_content();
 the_author_link();
 the_date();
 the_category(', ');
 the_tags();
 edit_post_link();
 if (comments_open()) 
{
      comments_popup_link(
__('A comment?', ''),
__('1 comment', ''),
__('% comments', ''),
'comments-link',
'Shuttt'); } ?>

Ici aussi on affiche la commande d'édition, ce que ne font pas tous les thèmes et c'est un tort. Rappelons qu'elle ne s'affiche que pour les auteurs.

Le bloc de commentaire comporte des paramètres, utiles sur la page d'accueil, qui ne le sont pas sur la page des articles. Dans l'ordre:

Documentation utile

La page peut utiliser les composants d'articles et des widgets d'accès à la base.