Comment afficher sous chaque message dans WordPress 3 messages aléatoires ?

  

4
Début du sujet

J'ai un site WordPress et sous chaque article (post) je veux afficher 3 articles (posts) aléatoires afin de pouvoir relier tous mes posts. Je veux que ce soit un code simple - seulement affiché comme un texte cliquable - rien de fantaisiste...

Pouvez-vous nous aider ?

Peut-être un code dans functions.php ?

Remerciements

2 Réponses
3

Dans votre thème enfant en functions.php ajoutez ces lignes de code :

/* Shortcode for random posts */
/* The shortcode to put in any post/widget is [my-random-posts] */
function my_rand_posts() {
 
    $args = array(
        'post_type'      => 'post',
        'orderby'        => 'rand',
        'posts_per_page' => 3,
    );
 
    $the_query = new WP_Query($args);
    $string = "";
    if ($the_query->have_posts()) {
        $string .= '<ul>';
        while ($the_query->have_posts()) {
            $the_query->the_post();
            $string .= '<li><a href="' . get_permalink() . '" target="_blank">' . get_the_title() . '</a></li>';
        }
        $string .= '</ul>';
        /* Restore original Post Data */
        wp_reset_postdata();
    } else {
        $string .= 'no posts found';
    }
 
    return $string;
}
 
add_shortcode('my-random-posts', 'my_rand_posts');
add_filter('widget_text', 'do_shortcode');

Ce code va créer un shortcode que vous pouvez mettre quand vous le souhaitez ! Sur la ligne #8 (posts_per_page) vous pouvez choisir combien de posts seront affichés - dans notre cas : 3. 

Le shortcode à insérer dans n'importe quel post/widget est le suivant : [my-random-posts]

Bonne lecture !

2

Vous pouvez également créer votre propre plugin WP afin de pour conserver le code et le shortcode au cas où vous changeriez de thème WordPress.

Voici le code de mon plugin WordPress qui affiche les 3 derniers articles (avec les dates à la fin 🙂 en utilisant le shortcode : [my-plugin-recent-posts] :

<?php
 
/*
Plugin Name: My plugin recent posts shortcode
Plugin URI:  https://mypluginrecentpostsshortcode.com 
Description: WP plugin for showing recent posts with a shortcode
Author: My plugin recent posts shortcode Ltd.
Version: 1.0
Author URI:  https://mypluginrecentpostsshortcode.com 
Text Domain: my-plugin-recent-posts-shortcode
Domain Path: /languages/
 */
 
function my_plugin_recent_posts_shortcode() {
    $buffer = '<h4>Recent Posts:</h4><ul>';
 
    $args = array(
        'post_type'      => 'post',
        'posts_per_page' => 3,
    );
 
    $q = new WP_Query( $args );
 
    while ( $q->have_posts() ) {
        $q->the_post();
        $buffer .= '<li><a href=" ' . get_the_permalink() . '">' . get_the_title() . '</a> - ' . get_the_date() . ' </li>';
    }
    wp_reset_postdata();
 
    $buffer .= '</ul>';
 
    return $buffer;
}
 
add_shortcode( 'my-plugin-recent-posts', 'my_plugin_recent_posts_shortcode' );

...et voici la capture d'écran de mon blog WordPress :

mon plugin wordpress recent posts shortcode

Partager :