Voici une petite astuces wordpress pour mettre en place un module « Articles Similaires » sur votre blog. Ce module propose a vos visiteurs plusieurs articles lié à sa lecture actuelle. Vous lui faites découvrir d’autres articles ce qui peut l’aider dans la navigation de votre blog. Un module comme celui-ci permet également de lier les articles entre eux, selon les mêmes tags directement dans la page de l’article. Si votre a par exemple un succès fou, les articles similaires proposé pourront l’être aussi.
Beaucoup d’astuces de ce genre circulent sur les blogs, mais ils ne fonctionnent tout simplement pas. Le problème est lié à la boucle qu’on ouvre ; Cette boucle n’étant pas fermée, tout ce qui suit les articles similaires, comme les commentaires par exemple, seront mélangés. Les commentaires ne seront plus liés à l’article en question. Étrange fonction qui n’a pas encore d’utilité !
Le code et les paramètres
Le code en lui-même est très simple et facile à comprendre. Nous allons utiliser les tags de l’article en cours de lecture pour afficher les articles liés à celui-ci. Concernant l’affichage des articles, plusieurs paramètres sont disponibles. Vous pouvez afficher par exemple les articles similaires par titres, par date, par auteur, par date de modification par ID et aléatoirement. Pour cela il vous suffit de modifier la valeur « orderby ».
Si vous souhaitez supprimer cette valeur optionnelle, vous pouvez. La dernière ligne de ce code permet simplement de fermer définitivement les boucles de WordPress et donc de retourner à l’affichage normal. J’ai commenté quelques lignes pour mieux comprendre.
[php]
-
est l’ordre d’affichge */
-
Partager sur facebookFacebookPartager sur whatsappWhatsAppPartager sur linkedinLinkedInPartager sur twitterTwitter
$backup = $post;
$tags = wp_get_post_tags($post->ID);
$tagIDs = array();
if ($tags) {
$tagcount = count($tags);
for ($i = 0; $i < $tagcount; $i++) { $tagIDs[$i] = $tags[$i]->term_id;
}
$args=array(
‘tag__in’ => $tagIDs,
‘post__not_in’ => array($post->ID),
‘showposts’=>7,
‘orderby’=>rand /* author – date – title – modified – parent – ID – rand */
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
22 réponses
Merci, c’est adopté :)
Mince ça marche !!! Je suis une newbie totale, et je doutais d’y arriver du premier coup, mais c’est ok, Bravo :x c’était très clair.
Donc j’ai d’autres questions (forcément) : peut-on les sélectionner par tags ?
Peut-on rajouter un petit titre, genre Vous aimerez aussi… ?
La sélection se fait déjà par tags… Pour rajouter un titre, il n’y a pas de soucis, il te suffit d’ajouter n’importe quel texte juste avant la première ul (la première ligne)
Est il mieux que l’ancien proposé ?
C’est le même, j’ai voulu mettre en avant cette fonctionnalité suivit des paramètre. C’est tout :lol:
D’accord :)
merci pour ces astuces en tout cas, c’est toujours utile
Je préfère de loin Similar Posts et Post-Plugin Library qui sont parfaits pour faire découvrir d’autres articles similaires. Ils se basent sur les tags, mots-clés, catégories et donnent un pourcentage de l’affinité de la recherche. On peut le personnaliser comme l’on veut :)
Merci de cette astuce qui se passe de plugins. Pourquoi pas.
Bonjour,
Ca tombe à point nommé, je n’arrivais pas à faire fonctionner random posts.
Y’a t-il une combine pour afficher des billets au hasard dans un widget « texte » ?
Peut-on choisir les articles similaires par « catégories » ?
Car c’est m’intéresserait plus…
Quel est le plugin utilisé sur ce site? Est ce que ce sont ces lignes de codes? Dans ce cas comment met on ce qu’il y a entre parenthèses et le lien en dessous et le tout avec de la mise en forme différente?
Merci
Tout d’abord: merci pour ce tuto qui correspond parfaitement à ce que je souhaiterai faire !!
Ensuite question dont la réponse est évidente mais pas pour moi :mrgreen: : où colle t’on le code exactement ? Je n’arrive pas à savoir où. :?
single.php ? function.php ? Ailleurs ?
Merci d’avance !
Cordialement
Hi! Moi aussi je cherche où le mettre. J’ ai essayé single.php, article.php, page.html, mais il n’ apparait nul part…par contre si c’est dans single.php, (comme je plante toujours mes sites quand je touche à ce code) merci de me dire exactement où le mettre…
Merci pour l’astuce mais sous wordpress 2.9 ça n’as pas l’air de fonctionner … Une idée ?
Merci d’avance :cool:
Bonjour,
J’aimerai choisir moi même les articles similaires à afficher. Serait-il possible, en notifiant dans un champ personnalisé par exemple, de faire cela?
Merci d’avance
Merci pour cette astuce.
Encore une chose avec quoi ont peut éviter d’installer un plugin et d’alourdir WordPress à la longue. C’est sommaire mais très pratique au moins.
Merci
C’est niquel, ça fonctionne ! Question bête cependant, il serait possible d’avoir une image avec le texte au lieu de juste le texte ? Par exemple, j’utilise le thème Arras, et j’ai toujours une bannière ajoutée dans un champ personnalisé pour chaque article, et ça rendrait beaucoup mieux si l’image pouvait s’afficher aussi… l’adresse est la suivante si ça peut aider : http://www.no-limits-diary.com
Merci ! :)
Juste pour informer que mon problème est réglé grâce à un plugin ! Merci quand même ! :) A bientôt
merci pour cette bonne astuce elle fonctionne tres bien :)
Bonsoir,
Super, ça marche pour moi aussi, même si le post date de quelques années ! J’ai juste rajouté un mini bout de code php (je me suis épaté) au dessus pour écrire « Articles similaires : ».
Je découvre ton blog et vais prendre le temps de le parcourir !
A bientôt,
Jérémie
Hello!
Je vais essayer de mettre à jour le contenu et le code dès que possible pour plus de personnalisation !