Il se peut donc que les informations qu'il fournit ne soient plus totalement exactes.
Pour augmenter le trafic sur votre site et améliorer la durée moyenne de connexion sur celui-ci, il peut être très intéressant de proposer en bas de page des articles similaires.
Nous allons utiliser les tags pour trouver les articles similaires à celui que l’internaute est en train de lire. Une fois à la fin de l’article, il verra une proposition d’articles sur les mêmes thèmes.
C’est ce script que j’utilise en bas de mes articles. J’utilise également les « images à la une » des articles en question pour pouvoir les afficher, et une mise en forme CSS adaptée à ma charte graphique.
Je vais commencer par vous donner le script de « base » puis pour ceux qui le souhaitent, nous irons un peu plus loin pour arriver à un résultat similaire à celui de mon site.
Le script de base
Ce script est simple dans le fond et la forme, il va aller chercher les tags similaires dans d’autres articles et les afficher sous forme de liste. Vous pouvez choisir le nombre d’articles que vous voulez voir apparaitre. Par ailleurs, le titre étant dans une condition php, si vous n’avez pas encore de billet similaire, le titre ne s’affichera pas.
<?php $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), 'showposts'=>5, // Le nombre de postes similaires à afficher. 'caller_get_posts'=>1 ); $my_query = new wp_query($args); if( $my_query->have_posts() ) { echo '<h3>Articles similaires</h3><ul>'; while ($my_query->have_posts()) { $my_query->the_post(); ?> <li><a href="<?php the_permalink() ?>" rel="bookmark" title="Lire l'article <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li> <?php } echo '</ul>'; } } ?>
Je vous conseils de coller ce code directement sous les balises :
<?php the_content();?>
Vous pouvez évidemment le place ailleurs, mais pour commencer et vous ça fonctionne bien, commencez par là.
Le script améliorer avec gestion des miniatures
<h5>Articles similaires</h5> <?php $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), 'showposts'=>3, 'caller_get_posts'=>1 ); $my_query = new wp_query($args); if( $my_query->have_posts() ) { while ($my_query->have_posts()) { $my_query->the_post(); $imageURL = wp_get_attachment_url( get_post_thumbnail_id($post->ID) ) ?> <span class="page-image"> <a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><img title="<?php the_title(); ?>" alt="_" src="<?php print $imageURL;?>"/></a> </span> <h2 class="portfolio-h2"> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> </h2> <?php } } wp_reset_query(); } ?>
J’ai ajouté quelques variables dans la boucle de sorte à aller chercher l’url de l’image attachée à l’article (image à la une). Je « print » ensuite cette url simplement dans la source de mon image et le tour est joué.
Pour les plus novices, il existe de nombreux plugins similaires mais ils ne sont pas aussi personnalisables qu’un bon vieux bout de code !
Je vous laisse le privilège de gérer votre mise en forme CSS.
Merci beaucoup, j’ai cherché pendant des heures après un code qui fonctionne. Il fonctionne très bien sur mon site.
Bonjour Hafidi,
je ne connais pas se plugin mais il semblerait faire l’affaire :
wordpress.org/plugi…ted-posts/
Merci pour le code. voila pour moi je cherche a avoir les article qui ont le meme titre ou presque sans passer par les tag ,
Génial ! Ça marche !
Merci pour le code. Je vais lui trouver une application en lieu et place de la liste de mes 4 derniers articles en footer.
Salut Céline,
je vois ce que tu veux dire mais je ne peux t’aider avec si peu d’informations.
Où as tu coller le script ? juste après les balises
Vu le type d’erreur, je dirais qu’il s’agit d’une erreur au niveau de la boucle de récupération des commentaires. Pour vérifier celà, regarde si tes commentaires correspondent à ceux laissez dans les articles similaires qui apparaissent dans ta page. Si c’est bien ça, tien moi au courant que je puisses t’aider.
Brice
J’ai essayé ton script qui marche très bien. Cependant un très gros problème est vite venu. Les commentaires qui s’affichaient ne correspondaient pas aux bons articles.