wordpress-sticky

Les articles épinglés ou stick posts en anglais, permettent de mettre en avant un billet particulièrement intéressant et donc de maximiser sa visibilité. Ce tutoriel a pour objectif de vous proposer une requête PHP pour afficher le dernier article épinglé là où vous le souhaitez. Une astuce utile pour l’incorporer facilement dans votre thème en vue de personnaliser son affichage.

Partons du principe que vous souhaitez intégrer une zone d’article épinglé sur votre page d’accueil avec une photo de taille large, le titre et l’extrait.

Collez les lignes de code suivantes dans une balise div pour afficher le dernier billet à la une :

<?php
$recentPosts = new WP_Query();
$sticky = get_option('sticky_posts');
$args = array(
 'showposts' => 1,
 'post__in' => $sticky,
 'caller_get_posts' => 1,
 'orderby' => 'date',
 );
$recentPosts->query($args);
while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?>
<?php if ( has_post_thumbnail()) : ?>
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" >
<?php the_post_thumbnail('large'); ?></a>
<h3><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
<?php endif; ?>
<?php endwhile; ?>

Vous pouvez notamment changer le nombre dans l’argument showposts. La boucle se compose donc de la miniature en taille large pointant vers la page de l’article, du titre du billet et de son extrait.

Bien entendu, libre à vous de modifier celle-ci pour convenir à vos besoins !

Crédits photo : Angélique

15 commentaires

  1. Bonjour,
    Pour : « Afficher le dernier article épinglé (sticky) sous WordPress », il est proposé :
     » Collez les lignes de code suivantes dans une balise div pour afficher le dernier billet à la une : »
    Question : dans quel fichier coller ?

    NB : j’ai remarqué que très souvent, pour des actions de ce genre ( Collez les lignes de code suivantes ….. ), les rédacteurs oublient que le vulgus pecus dont je fais humblement partie ignore beaucoup de choses et en particulier l’architecture générale de WP !!! : merci de nous ( me ) rendre plus avertis.

    1. Effectivement c’est une tendance que l’on a… on finit par croire que « tout le monde sait cela » alors qu’il n’en est rien.

      Pour réparer ce tort, ces lignes doivent être insérés dans le fichier du thème localisé sous /wp-content/themes/NOM_DU_THEME/ qui correspond à l’emplacement.

      Exemple : index.php pour l’accueil, category.php pour une page d’archive de catégorie.

  2. Marche pas chez moi alors que j’ai bien un article épinglé sur la une.
    J’ai placé le code dans une div mais rien de s’affiche.
    Wordpress 3.3.2

  3. il faudrait l’adresse de ton site François,sans rien voir,difficile de répondre.
    sur la une,tu parles de la page d’accueil ? Géré par index.php ou home.php ou loop.php,etc.. cela dépend du thème.

    En passant j’aimerai savoir si on a aucun article mis en avant,est ce possible que le code ne prenne pas le dernier article à la place?
    merci

  4. Bonjour,

    Un membre de wordpress m’a donné ce lien par rapport à une demande que j’ai effectué sur le support de wordpress.

    Je souhaite ajouter afficher un seul article épinglé sur ma page d’accueil à un certain endroit. Le soucis c’est que dès que je ne mets aucun article épinglé il affiche le dernier billet créer ce qui ne m’intéresse pas puisque que je veux utiliser ce système pour mettre en avant pendant une certaine durée un article.

    A bientôt

  5. Bonjour,

    Je suis en train de découvrir wordpress et je n’arrive pas à faire fonctionner ce code pour une page d’accueil personnalisée (page statique avec un affichage ciblé de certains posts).
    J’ai la version 3.4 avec un thème enfant de Twentyeleven. J’ai bien des articles mis en avant. Dans le dossier thème j’ai bien ajouté un fichier accueil.php qui est opérationnel mais refuse obstinément de prendre en compte ce bout de code. Que faire?

    En tout cas, merci pour le partage.

  6. Bonjour,

    Au risque de posé LA question bête… « On met où le code pour effecter une requête ? » . J’avoue ne pas trop comprendre …

    Merci

  7. Salut Aurélien! Je cherche à intégrer deux stickies sur ma homepage mais sur deux colonnes (1 sticky pas colonne). Connais-tu la manière pour y parvenir? Mille mercis! J’ai beau chercher, je ne trouve pas!…

    Laisser un commentaire