Tutoriels WordPress de confiance, quand vous en avez le plus besoin.
Guide du débutant pour WordPress
WPB Cup
25 millions+
Sites web utilisant nos plugins
16+
Années d'expérience WordPress
3000+
Tutoriels WordPress par des experts

Comment : Articles similaires avec miniatures dans WordPress sans plugins

Souhaitez-vous afficher une liste d'articles similaires sur votre site WordPress et préférez utiliser du code plutôt qu'un plugin ?

Chez WPBeginner, nous soulignons souvent l'importance d'engager votre audience et de la maintenir à l'exploration de votre contenu. Une stratégie efficace que nous avons vue utilisée sur d'innombrables sites WordPress réussis est l'affichage d'articles similaires.

Lorsque les visiteurs de votre blog ont fini de lire un article qui les intéresse, proposer une liste d'articles similaires les maintiendra engagés et les aidera à trouver du nouveau contenu à lire.

Dans cet article, nous vous montrerons comment afficher des articles similaires avec WordPress en utilisant du code, sans aucun plugin requis.

Comment : Articles similaires avec miniatures dans WordPress sans plugins

Pourquoi afficher des articles similaires dans WordPress ?

Lorsque votre blog WordPress commence à grandir, il peut devenir plus difficile pour les utilisateurs de trouver d'autres articles sur le même sujet.

Afficher une liste de contenu similaire à la fin de chaque article de blog est un excellent moyen de garder vos visiteurs sur votre site et d'augmenter les vues de page. Cela aide également à améliorer la visibilité de vos pages les plus importantes en affichant votre meilleur contenu là où les gens peuvent facilement le trouver.

Si vous n'êtes pas familier avec le code, il vous sera plus simple de choisir l'un des nombreux plugins d'articles similaires pour WordPress qui peuvent afficher des articles similaires sans code.

Mais, si vous vous êtes déjà demandé si vous pouviez afficher des articles similaires sans utiliser de plugin, nous allons partager deux algorithmes différents que vous pouvez utiliser pour générer des articles similaires avec des miniatures en utilisant uniquement du code :

Note : Si vous souhaitez afficher une miniature avec chaque article similaire, assurez-vous d'abord d'ajouter une image à la une à ces articles.

Méthode 1 : Comment afficher des articles similaires dans WordPress par tags

Un moyen efficace de localiser du contenu similaire est de rechercher d'autres articles qui partagent les mêmes tags. Les tags sont souvent utilisés pour se concentrer sur les détails spécifiques contenus dans un article.

Dans cet esprit, vous pourriez vouloir ajouter des tags communs aux articles que vous souhaitez relier entre eux. Vous pouvez les saisir dans la boîte « Tags » de l'éditeur WordPress.

La boîte de paramètres « Étiquettes » dans l'éditeur WordPress

Une fois que vous avez ajouté des tags à vos articles, la prochaine étape consiste à ajouter le fragment de code suivant au modèle single.php de votre thème.

Si vous avez besoin d'aide pour ajouter du code à votre site, consultez notre guide sur comment coller des extraits du web dans WordPress.

$orig_post = $post;
global $post;
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=>5, // Number of related posts that will be shown.
'ignore_sticky_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
   
echo '<div id="relatedposts"><h3>Related Posts</h3><ul>';
   
while( $my_query->have_posts() ) {
$my_query->the_post(); ?>
   
<li><div class="relatedthumb"><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_post_thumbnail(); ?--></a></div>
<div class="relatedcontent">
<h3><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_title(); ?--></a></h3>
<!--?php the_time('M j, Y') ?-->
</div>
</li>
<!--?php }
echo '</ul--></ul></div>';
}
}
$post = $orig_post;
wp_reset_query();

Ce code recherche les balises associées à une page, puis exécute une requête de base de données pour récupérer les pages avec des balises similaires.

Où devez-vous placer le code ? Cela dépend de votre thème, mais dans la plupart des cas, vous devriez pouvoir coller le code dans le modèle single.php de votre thème, après le message principal et juste avant la section des commentaires.

Si vous utilisez le thème Twenty Twenty-One, comme nous le faisons sur notre site de démonstration, un bon endroit pour coller le code est dans le fichier template-parts/content/content-single.php, après l'en-tête et juste après <?php the_content();.

Aperçu du contenu similaire par étiquettes

Cela affichera automatiquement du contenu similaire sur n'importe quel article WordPress.

Vous devrez modifier le style et l'apparence de vos articles similaires pour qu'ils correspondent à votre thème en ajoutant du CSS personnalisé.

Exemple d'articles similaires

Astuce : Au lieu de modifier les fichiers de votre thème, ce qui pourrait endommager votre site web, nous vous recommandons d'utiliser un plugin d'extraits de code comme WPCode.

WPCode permet d'ajouter du code personnalisé en toute sécurité et facilement dans WordPress. De plus, il est doté d'options d'insertion qui vous permettent d'insérer et d'exécuter automatiquement des extraits à des emplacements spécifiques de votre site WordPress, comme après un article.

Options d'insertion de WPCode pour les extraits de code personnalisés

Pour plus de détails, consultez notre guide sur comment ajouter du code personnalisé dans WordPress. Vous pouvez également consulter notre avis détaillé sur WPCode pour en savoir plus sur le plugin.

Méthode 2 : Comment afficher des articles similaires dans WordPress par catégorie

Une autre façon d'afficher du contenu connexe est de lister les articles qui se trouvent dans la même catégorie. L'avantage de cette méthode est que la liste des articles connexes ne sera presque jamais vide.

Comme pour la méthode 1, vous devez ajouter un extrait de code au modèle single.php de votre thème ou dans un plugin d'extraits de code comme WPCode. Pour plus de détails, reportez-vous à la méthode 1 et à notre guide sur comment ajouter du code personnalisé dans WordPress.

$orig_post = $post;
global $post;
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=> 2, // Number of related posts that will be shown.
'ignore_sticky_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
echo '<div id="related_posts"><h3>Related Posts</h3><ul>';
while( $my_query->have_posts() ) {
$my_query->the_post();?>
   
<li><div class="relatedthumb"><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_post_thumbnail(); ?--></a></div>
<div class="relatedcontent">
<h3><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_title(); ?--></a></h3>
<!--?php the_time('M j, Y') ?-->
</div>
</li>
<!--?php }
echo '</ul--></ul></div>';
}
}
$post = $orig_post;
wp_reset_query();

Vous verrez maintenant une liste de contenu connexe en bas de chaque article.

Si vous souhaitez modifier le style et l'apparence de vos pages liées, vous devrez ajouter du CSS personnalisé pour qu'il corresponde à votre thème.

Vous souhaitez en savoir plus sur l'affichage des articles similaires dans WordPress ? Consultez ces tutoriels utiles sur les articles similaires :

Nous espérons que ce tutoriel vous a aidé à apprendre comment afficher des articles similaires avec des miniatures dans WordPress sans plugins. Vous voudrez peut-être aussi apprendre comment suivre les visiteurs de votre site WordPress, ou consulter notre liste de 24 astuces pour accélérer votre site web.

Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.

Avis : Notre contenu est financé par nos lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons percevoir une commission. Voir comment WPBeginner est financé, pourquoi c'est important et comment vous pouvez nous soutenir. Voici notre processus éditorial.

La boîte à outils WordPress ultime

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tout professionnel devrait posséder !

Interactions des lecteurs

184 CommentsLeave a Reply

  1. C'est bien d'afficher des articles similaires dans un blog WordPress sans plugin. Cela consommera moins de bande passante et de temps de chargement. http://shareitto.com Merci pour votre suggestion.

  2. J'ai une question à ce sujet : Je me bats avec le code pour capturer les articles des catégories enfants par rapport aux catégories parentes. Des conseils ?

  3. J'essaie d'utiliser les articles similaires par catégorie et j'ai remarqué que vous avez dit que le code devait venir avant les commentaires dans la boucle principale. Dans mon code, je veux que les articles similaires viennent après les commentaires dans la boucle. Quand je fais cela, je remarque que mon plugin de commentaires Disqus prend plus de temps à charger maintenant. Est-ce à cause d'une erreur avec les commentaires ou est-ce normal ?

  4. s'il vous plaît

    quelqu'un pourrait-il aider un débutant comme moi à personnaliser ce script afin qu'il affiche les articles similaires de manière horizontale ?

    de gauche à droite..

    au lieu de les afficher actuellement de haut en bas, verticalement...

    • Salut,

      La façon dont je l'ai fait est de remplacer les codes et par mon propre html et css. Les codes créent des listes pour chaque article, et cela se fait généralement de manière verticale.

      ——————

      <a href="” rel=”bookmark” title=””> <a href="” rel=”bookmark” title=””>

      ——————

      J'ai remplacé l'ouverture par et j'ai remplacé la fermeture par comme mes balises html. Ensuite, j'écris mon CSS pour qu'il corresponde aux besoins de cette classe div spécifique sur votre site Web. Par exemple, une classe pleft d'exemple pourrait ressembler à ceci :

      .pleft {float:left; padding:2px; margin:10px; width:278px; height:190px;}

      J'utilise le sélecteur float: dans mon CSS pour déplacer les articles horizontalement, et les marges et le padding pour donner à chaque article un espacement entre eux. J'ai ajouté une largeur et une hauteur spécifiques pour des exemples supplémentaires.

      J'espère que cela vous aide.

  5. J'ai bien des tags similaires, mais quand j'ajoute le code, je ne vois rien. De plus, lorsque j'ajoute votre code pour restreindre à un type d'article personnalisé, cela me donne une erreur. J'ai bien changé le type d'article pour mon type d'article spécifique.

  6. @wpbeginner bonjour

    merci pour votre réponse rapide...

    mais je suis un vrai novice dans tout ce que vous dites..

    pouvez-vous me donner un petit exemple ?

    pour les rendre horizontaux comme sur votre propre blog ?

    peut me contacter par mon e-mail : khiloc at gmail dot com

  7. @subzerokh Il faudrait modifier le style. Ce n'est pas si difficile. Il suffit d'encapsuler chaque article dans une div. Spécifiez une largeur pour cette div, puis définissez une propriété float left. Ajustez les marges et autres, et voilà.

  8. bonjour à tous !! merci pour ce script merveilleux !!

    C'est la seule chose que j'ai trouvée qui fait exactement ce que je voulais !!!

    Mais il affiche les articles similaires de manière verticale (de haut en bas)

    Je voudrais que ce soit affiché de gauche à droite (horizontalement)

    Comment faire s'il vous plaît ??

  9. salut,

    excellent article ! peut-être pourriez-vous m'aider :

    j'ai une miniature automatique si aucune n'est définie,

    if ($thumb_array[‘thumb’] == ”) $thumb_array[‘thumb’] = ‘lien vers votre image miniature par défaut’;return $thumb_array;

    maintenant, ma question est de savoir comment définir une miniature pour chaque catégorie, qui sera utilisée si aucune n'est définie dans l'article.

  10. Salut

    merci pour votre excellent article..

    Mais y a-t-il un moyen d'obtenir les articles par catégories mais pas en ul et li et pas en miniature..

    Je veux dire que les articles complets s'affichent dans les articles liés.. tout comme sur la page d'accueil, avec un lien lire la suite.

    merci

    j'attends votre réponse..

  11. Salut

    merci pour votre excellent article..

    Mais y a-t-il un moyen d'obtenir les articles par catégories mais pas en ul et li et pas en miniature..

    Je veux dire que les articles complets s'affichent dans les articles liés.. tout comme sur la page d'accueil, avec un lien lire la suite.

    merci

    j'attends votre réponse..

  12. C'est génial, exactement ce que je cherchais. Je me demande cependant, comment pourrais-je combiner les deux ci-dessus et s'il n'y a pas de tags, alors il affiche les articles de la même catégorie ?

    J'essaie de comprendre mais je n'avance pas beaucoup pour l'instant

  13. Merci pour le code, ça a fonctionné mais comment puis-je le styliser ? Je voudrais qu'il y ait 4 articles côte à côte comme les vôtres. Sur mon site, ils sont affichés un par-dessus l'autre et non comme les vôtres.

    • C'est du CSS. Nous n'utilisons pas ce code pour afficher les articles similaires. Deuxièmement, je pense que vous parlez des articles mis en avant dans notre barre latérale. Nous avons écrit un autre article à ce sujet sur notre site.

      Admin

  14. y a-t-il un moyen d'afficher les miniatures dans les articles liés sans utiliser d'images mises en avant ou de miniatures d'articles ??
    c'est-à-dire utiliser n'importe quelle image utilisée dans l'article...

    • Oui, vous pouvez utiliser les techniques de repli partagées par d'autres développeurs qui récupèrent la première image de l'article. Mais nous recommandons d'utiliser les miniatures d'articles WordPress...

      Admin

  15. Merci pour cet article. Je me demandais s'il y avait un moyen d'étiqueter automatiquement les articles sans avoir à les saisir manuellement.

  16. Salut... Je voulais juste dire que je construis mon site WordPress à partir de zéro et que ce code fonctionne parfaitement pour moi avec WP 3.1... Tout ce que j'ai à faire maintenant, c'est de styliser le CSS et d'obtenir des miniatures pour les articles. Merci pour votre aide avec le code.

  17. Salut, y a-t-il un moyen d'exclure des catégories ? J'ai deux catégories principales auxquelles toutes les catégories sont assignées. Les catégories principales ont des sous-catégories et je voudrais afficher uniquement les articles similaires des sous-catégories.

    Est-ce possible, en excluant les identifiants des catégories principales ?

    Merci pour vos conseils !

    Au fait… j'adore le code… et il fonctionne à merveille !!!

  18. Je cherchais un article lié avec des plugins miniatures mais le code que vous avez collé ci-dessus a résolu mon problème.

  19. Juste une question, y a-t-il un moyen de ne récupérer que les tags du même type d'article ? Peut-être en utilisant quelque chose comme 'post_type=videos' ?

    • D'ailleurs, j'ai aussi trouvé la solution :

      Ajoutez-le simplement au tableau :

      $args=array(
      ‘category__in’ => $category_ids,
      ‘post__not_in’ => array($post->ID),
      ‘posts_per_page’=> 2, // Nombre d'articles liés qui seront affichés.
      ‘caller_get_posts’=>1,
      ‘post_type’=>’videos’
      );

  20. Bonjour,

    Merci pour ce tutoriel. Je me demande cependant s'il existe un moyen de randomiser les produits liés ? J'ai consulté différents produits de la même catégorie et les mêmes produits liés étaient affichés.

    Merci

  21. J'ai copié ce code et l'ai mis dans mon single.php sans rien changer et rien ne s'affiche. Y a-t-il un problème avec mon code ? pastebin.com/kg0SkrAg

  22. Cela ne fait pas apparaître de miniature — il n'y a même pas d'appel pour une image dans le code. Je ne vois pas comment quelqu'un peut faire fonctionner cela.

    • Le code pour l'image est : the_post_thumbnail(); << Ce n'est pas du HTML statique où vous verrez le code src de l'image. La fonction appelle la base de données pour rechercher une image mise en avant, alias une miniature, qui est attachée à chaque article. Si elle est trouvée, elle affichera l'image. Maintenant, si vous n'avez pas les miniatures de publication activées dans votre thème, vous devez d'abord les ajouter :

      https://www.wpbeginner.com/wp-themes/how-to-add-post-thumbnails-in-wordpress/

      L'article l'indiquait clairement dans la section Note :. Vous devriez envisager de le lire attentivement.

      Admin

  23. Salut mec, j'adore ton blog !

    J'ai une question ?

    Peux-tu faire le même truc mais "PAR AUTEUR" ?

    afficher les derniers articles par auteur ?

    you will save my life :-)

    Au fait, merci pour ce site !

  24. Merci pour ce code ! Je l'ai essayé et ça marche plus ou moins.

    Je peux obtenir une liste des articles liés, ce qui est un énorme avantage.

    Mais je n'arrive pas à faire apparaître d'images.

    Les articles ont des images si ce code les récupère.

    Je suis même allé créer des images pour chaque article avec la balise personnalisée "relatedthumb". Mais hélas, toujours pas d'images.

    Y a-t-il autre chose que je doive faire ?

    Merci beaucoup d'avance !

    Quinn

    • Cette astuce utilise les miniatures par défaut de WordPress qui ont été ajoutées dans WP 2.9. Si vous avez une image attachée comme cette miniature, alors elle sera récupérée.

      Admin

  25. Bonjour, merci pour ce bon tutoriel, j'utilise actuellement le thème Thesis, donc je voudrais savoir s'il existe un moyen dans le thème Thesis d'implémenter ce code .php.

  26. J'essaie de modifier son code afin de l'utiliser avec des catégories dans un type de publication personnalisé. Quelqu'un peut-il m'aider ? Je suis assez nouveau en php.

    Merci !

        • Pour utiliser des images par défaut lorsqu'aucune miniature de publication n'est disponible, remplacez par <?php if (has_post_thumbnail()) {the_post_thumbnail()} else {echo '’;} ?>
          Placez ensuite un fichier default-image.jpg dans le dossier d'images de votre thème.

  27. je n'arrive pas à faire fonctionner ça, ça gâche tout mon agencement près des commentaires, est-ce que je manque quelque chose ? j'ai dû l'enlever de mon site

  28. Salut !
    Merci pour cette information ! C'est exactement ce que je cherchais.
    Y a-t-il un moyen d'ajouter un extrait à cela, ainsi qu'à la photo ?

    Merci encore pour votre aide !

  29. Merci pour ceci, exactement ce que je cherchais ! J'adore la façon dont vos articles vont droit au but, sans confusion.

  30. Merci pour le partage. J'utilise ce code depuis un moment mais il a un problème : lors de l'ajout de tags à un article, WP les trie par ordre alphabétique indépendamment de la priorité que je leur ai donnée. Donc ce code affiche les articles liés correspondant au premier tag uniquement, ce qui est parfois moins pertinent.
    Peut-être avez-vous une idée sur la façon d'empêcher ce tri automatique des tags par WordPress ou une autre solution ?

    • Doug, veuillez nous contacter via le formulaire avec un exemple de lien direct, et nous pourrons vous aider. Nous savons que ce code fonctionne car plusieurs sites de nos clients l'utilisent.

      Admin

  31. Excellent tutoriel. Quelqu'un pourrait-il me montrer un fichier single.php fonctionnel avec ce code ?

    J'apprends encore le php.

    Malheureusement
    Parse error: syntax error, unexpected T_ENDIF in C:\xampplite\htdocs\mock\wp-content\themes\scwd\single.php on line 76

  32. Merci pour cet article. Je cherche depuis longtemps à afficher des miniatures avec mes articles et je n'y arrive pas. J'ai essayé de nombreux plugins WordPress mais je n'ai pas réussi. J'espère que cela m'aidera.

Laisser un commentaire

Merci d'avoir choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.