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 */
    $backup = $post;
    $tags = wp_get_post_tags($post->ID);
    $tagIDs = array();
    if ($tags) {
    $tagcount = count($tags);
    for ($i = 0; $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(); ?>

BRANDT Valentin

Créateur de Geekeries.fr. Référentiel de ressources WordPress en Français qui a vu le jour pour la toute première fois en 2007. Je publie régulièrement des plugins, des outils SEO, des ressources et de l'actualités pour améliorer votre expérience avec le CMS WordPress.

Ne manquez pas nos autres contenus :