Afficher le dernier article épinglé (sticky) sous WordPress

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

22 commentaires

  1. DTSSSZE

    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. Aurélien Denis auteur de l’article

      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. Francois

    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. britain

    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. Micklie

    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. Fab

    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. Micky

    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!…

  7. jeff

    Bonjour,
    tout d’abord, merci pour cette astuce, très pratique !
    Le code fonctionne très bien, tout s’affiche correctement sur mon site.
    J’utilise le plugin ACF et je rencontre un problème : le sticky post s’affiche comme prévu, par contre tous les éléments ajoutés via ACF et situés APRÈS votre code ne s’affiche plus. D’où cela peut il venir selon vous ?
    Merci

      1. jeff

        Merci pour votre réponse rapide !
        Je n’y arrive toujours pas malgré tout, je dois rater une information importante

        Ce que je ne comprends pas c’est que tous les champs situés avant le code apparaissent. Ce sont ceux qui sont après, dans une div différente et qui n’ont rien à voir avec les sticky posts, qui n’apparaissent plus.

  8. Seb

    Bonjour et exellent tuto.
    Est il possible de modifier ce code pour afficher l’avant dernier ou en encore l’avant avant dernier Article ?
    En effet, je voudrais créer une page d’acceuil qui afficherer mon dernier article en grand format puis l’avant derniers et l’avant avant dernier en format moyen.

  9. Julien

    Ce serait sympa de montrer un exemple sur site pour voir de quoi on parle… un sticky post, j’en ai une idée, mais mon idée ne fait pas la réalité qui est si diverse…

Laisser un commentaire

Thèmes & Plugins
Premium By WP Channel

WP Alacarte propose des produits et services de qualité
made in France pour la plateforme WordPress.

Tout est prêt pour créer votre site à la carte !

  • Thèmes et extensions premium
  • Facilité d’utilisation garantie
  • Temps de chargement optimisé
  • Personnalisation avancée
Découvrir

Rejoignez la communauté WordPress !

Faites partie de l’aventure en devenant membre d’une association WordPress. Conférences, ateliers, BarCamp, WordCamp… Venez
partager votre passion pour WordPress !

Aurélien DENIS,
président des associations WordPress Francophone et WPMX