Skip to content

Creer son thème WordPress #3 – Le fichier loop.php

Soyez sociable ! Partagez :
  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Dans mon dernier tutoriel wordpress, j’ai fait un rapide passage sur le fichier loop.php et après réflexion, je me suis dit qu’il fallait que je vous en parle plus précisément tellement ce fichier est important.

loop.php – LE fichier de votre thème !

<?php if (have_posts()) : ?>
  <?php while (have_posts()) : the_post(); ?>
    <section id="<?php the_ID(); ?>" <?php post_class(); ?>>
      <h2>
        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
      </h2>
      <h3><?php the_author(); ?></h3>
      <h4>Posté le <?php the_date(); ?> dans <?php echo get_my_category(get_the_category()); ?>.</h4>
      <?php if ( has_post_thumbnail() ) { the_post_thumbnail('thumbnail'); } ?>
	  <?php the_excerpt(); ?>
    </section>
  <?php endwhile; ?>
<?php else : ?>
  <section>
  		Rien à afficher pour le moment !
  </section>
<?php endif; ?>
<?php wp_reset_query(); ?>

Étudions ce fichier ligne par ligne (ou presque !) :

loop.php

<?php if (have_posts()) : ?>
<!-- Afficher les articles -->
<?php else: ?>
<!-- Afficher le message expmliquant qu'il n'y a aucun article à afficher -->
<?php endif; ?>

La fonction have_posts() de WordPress récupère les paramètres de l’URL et vérifie qu’il y a des articles à afficher pour les paramètres demandés. S’il y en a, on effectue une boucle pour les afficher, sinon on affiche un petit message nous expliquant qu’il n’y a aucun article à afficher.

Afficher les articles:

Pour afficher les articles, on utilise un boucle While comme suit :

<?php while (have_posts()) : the_post(); ?>
<!-- Format d'un article -->
<?php endwhile; ?>

La fonction the_post() récupère l’article à afficher et tous ses paramètres. Voici le schémas que j’ai utilisé pour mes articles :

<section id="<?php the_ID(); ?>" <?php post_class(); ?>>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <!-- Titre et Lien vers l'article -->
<h3><?php the_author(); ?></h3><!-- L'auteur -->
<h4>Posté le <?php the_date(); ?> dans <?php echo get_my_category(get_the_category()); ?>.</h4><!-- les métas (date), tags, catégories... -->
<?php if ( has_post_thumbnail() ) { the_post_thumbnail('thumbnail'); } ?><!-- la miniature s'il y en a une -->
<?php the_excerpt(); ?><!-- l'extrait -->
</section>

Il faut savoir une chose, c’est qu’avec WordPress, tout est modulable, vous pouvez créer vos propres fonctions pour afficher des URL ou des classes…

Un petit exemple : La fonction get_my_category() est une fonction que j’ai développée qui me permet d’afficher une liste de lien vers les catégories à partir d’un tableau de catégories. Pourquoi avoir fait ça ? Tout simplement parce que WordPress généré une liste de lien avec un attribut pour “rel” non valide W3C, ce que me posait problème. Voici ma fonction que j’ai mise dans le fichier functions.php :

function my_related_post($arg){
	query_posts($arg . '&posts_per_page=5');
	echo "<ul class='similar-post'>";
	while ( have_posts() ) : the_post();
		echo '<li>';
		echo '<a href="';
		the_permalink();
		echo '">';
		the_post_thumbnail(array(25,25));
		the_title();
		echo '</a>';
		echo '</li>';
	endwhile;
	echo "</ul>";
	// Reset Query
	wp_reset_query();
}

Pour les autres fonctions, elles sont assez explicites, et je vous laisse gérer votre manière de lister vos articles.

Voilà pour le fichier loop.php, il est l’un des plus important de votre thème et vous permettra d’afficher vos listes d’articles. Il sera notamment appelé dans le fichier archives.phpindex.php

Si vous souhaitez avoir plus de fonctionnalité, n’hésitez pas à vous rendre sur le CODEX de WordPress qui est très complet !!

A bientôt pour un autre tutoriel

Soyez Sociable ! Partagez !
Published inTutoriel
banner