Comment créer une liste d’articles avec miniatures

Dans se tutoriel je vais vous expliquer comment créer une liste d’articles avec miniature, que vous pourrez ajouter sur votre page d’accueil ou dans vos  pages template de votre thème WordPress.

Pour la boucle (loop) je me servirais de la fonction Query_posts que vous pourrez personnaliser en lissant l’article : Utiliser la fonction query_posts pour personnaliser l’affichage de vos articles.

Nous utiliserons aussi la fonction post-thumbnails  qui va nous servir à  afficher les miniatures des articles.


 

Première étape ajouter la boucle suivante qui affichera les articles avec un titre et un extrait :

<div class="entry">

<?php query_posts('cat=0&showposts=4'); while (have_posts()) : the_post(); // début de la boucle ?>

<h2><?php the_title(); // affichage du titre?></h2>

<?php the_excerpt(); // affichage de l'extrait ?>

<?php endwhile; // fin de la boucle ?>

</div>

Ensuite ajouter le code suivant dans le fichier function.php de votre thème :

// Déclaration de la prise en charge des miniatures dans le thème

	add_theme_support( 'post-thumbnails' );

// déclaration de la function pour redimentioner les miniatures 

if ( function_exists( 'add_image_size' ) ) {

	add_image_size( 'homepage-thumb', 220, 180, true ); //(Image recadrée)

}

Le code de la ligne 3 va déclarer la prise en charge des miniatures dans votre thème.

La ligne 7 va déclarer la fonction qui va permettre de redimensionner vos miniatures.

Et la ligne 9 va nous servir à définir la dimension des miniatures qui vont être affiché, homepage-thumb est l’identifiant de nos miniatures,  220 est la largeur et 180 est la hauteur.

Si par exemple  vous voulez utiliser la largeur original de votre image indiquer  9999, 180 faite de même pour la hauteur.

Vous pouvez aussi ajouter plusieurs dimensions pour vos miniatures en dupliquant  la ligne 9 et en changeant l’identifiant exemple : homepage-thumb-2.

Pour afficher la miniature de vos articles ajouter le code suivant a l’intérieur de la boucle :

ID, 'homepage-thumb');?>

La boucle  finale se présente comme ceci :

<?php query_posts('cat=0&showposts=4'); while (have_posts()) : the_post(); // début de la boucle ?>

<h2><?php the_title(); // affichage du titre?></h2>

<?php echo get_the_post_thumbnail($post->ID, 'homepage-thumb'); // affichage de la miniature ?>

<?php the_excerpt(); // affichage de l'extrait ?>

<?php endwhile; // fin de la boucle ?>

Important ! Pour que la miniature s’affiche correctement, lors de l’édition de votre article vous devez définir  l’option  image à la une.

Maintenant il ne reste plus ajouter les balises html et le code CSS pour la mise forme.

/* Articles avec miniatures */

.entry {

width:380px; 

padding:8px;

}

.articles{

clear:both;

}

.title { 

font-size:14px; 

}

.thumbs { 

float:left;

padding:5px;

}

.separateur{ !important

clear:both;

float:left;

width:100%;

height:1px;

border-bottom: dotted 1px #CCCCCC;

}

.read-more {

color:#FFFFFF;

margin-bottom:10px;

margin-top:10px;

}

.read-more a:hover {

color:#0099FF;

}

.read-more{

float:right;

padding:3px;

background-color:#333333;

/* Css 3 */

-webkit-border-radius: 3px;

-moz-border-radius: 3px;

border-radius: 3px;

}

Code de la boucle avec les balises html :

<div class="entry"> <!-- Conteneur --> 

<?php query_posts('cat=0&showposts=4'); while (have_posts()) : the_post(); // début de la boucle ?>

<div class="articles"><!-- Articles -->

<div class="thumbs"><?php echo get_the_post_thumbnail($post->ID, 'homepage-thumb'); // affichage de la miniature ?></div>

<h2 class="title"><?php the_title(); // affichage du titre?></h2>

<?php the_excerpt(); // affichage de l'extrait ?>

</div> <!-- Articles fin -->

<div class="separateur"></div><!-- Séparateur -->

<?php endwhile; // fin de la boucle ?>

</div><!-- Conteneur fin -->

Code du fichier function.php, dans le code ci-dessous j’ai rajouté deux fonctions pour personnaliser la longueur des extraits et le lien permanent que vous pourrez modifier. Si vous désirez plus d’information sur se sujet je vous conseil de lire l’article : Personnalisé la longueur de vos extraits.

<?php

// Déclaration de la prise en charge des miniatures dans le thème

	add_theme_support( 'post-thumbnails' );

// déclaration de la function pour redimentioner les miniatures 

if ( function_exists( 'add_image_size' ) ) {

	add_image_size( 'homepage-thumb', 220, 180, true ); //(Image recadrée)

}

// Cette fonction change la longueur de l'extrait 

function custom_excerpt_length( $length ) {

	return 15; // Modifier 15 pour changer la longueur de l'extrait

}

add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

// Cette fonction personalise le lien permanent vers l'article 

function new_excerpt_more($more) {

       global $post;

	return '<a class="read-more" href="'. get_permalink($post->ID) . '">Lire la suite...</a>'; // Ligne a modifier

}

add_filter('excerpt_more', 'new_excerpt_more');

?>

Les fichiers sources sont disponible ici