Afficher les titres d’une catégorie dans un article ou une page

Plus simple (2019)

Le site : https://www.windtopik.fr/afficher-articles-pages-list-category-posts/
permet beaucoup de variantes : c’est juste un plugin de WordPress


Ancienne version plus complexe à mettre en œuvre avec moins de possibilités de tri

Se référer au site de Bibichette

Il faut insérer le code ci-dessous dans functions.php du thème :

/** Ajout par Mc  */
function jc_post_by_category($atts, $content = null) {
    extract(shortcode_atts(array(
        "nb" => '25', //le nombre est a moduler 
        "orderby" => 'post_date',
        "order" => 'DESC',
        "category" => '1'
    ), $atts));
    global $post;
    $tmp_post = $post;
    $myposts = get_posts('showposts='.$nb.'&orderby='.$orderby.'&category='.$category);
    $out = '<ul>';
    foreach($myposts as $post){
        setup_postdata( $post );
        $out .= '<li><a href="'.get_permalink().'">'.the_title("","",false).'</a></li>';
    }
    $out .= '</ul>';
    wp_reset_postdata();
    $post = $tmp_post;
    return $out;
}
add_shortcode("post-by-category", "jc_post_by_category"); /** Fin ajout par Mc */
 
/** Ajout par Mc  */

Dans la page ou l’article insérer le code suivant :

[post-by-category category="19"]

Vous pouvez également, par exemple, l’ajouter à un widget texte dans votre sidebar, mais il faudra auparavant ajouter ce petit bout de code pour que le shortcode soit interprété :

add_filter(‘widget_text’, ‘do_shortcode’);

L’idéal est de mettre ce code dans un thème enfant pour éviter d’avoir à corriger à chaque mise à jour du thème.

Mise à jour 2021

le plugin List Category Posts !

Choix de la(les) catégorie(s)

Le choix d’une catégorie peut se faire avec son ID :

[catlist id= »17″]

Ou avec son nom :

[catlist name= »Tutoriels »]

Pour sélectionner plusieurs catégories, il faut simplement rajouter un « + »comme ci-dessous :

[catlist id= »17+17″]

Nombre d’articles

Pour affiche un nombre précis d’articles, il faut ajouter l’expression « numberposts« . Soit dans l’exemple ci-dessous 10 articles :

[catlist name= »17″ numberposts= »10″]

Ordres des articles

Une fois la liste affichée, vous pouvez les classer selon des critères bien distincts.
Par exemple, on les classes par titre « orderby » dans l’ordre alphabétique « order » :

[catlist name=Palm orderby=title order=asc]

Voici d’autres choix de classement pour l’expression « orderby » :

  • ID : tri par l’identifiant numérique de l’article.
  • author : tri par auteur.
  • title : tri par titre.
  • type : tri par type.
  • category : tri par catégorie.
  • content : tri selon le contenu.
  • date : tri par date de création.
  • menu_order : tri selon l’ordre du menu pour les pages.
  • mime_type : tri selon le type MIME.
  • modified : tri par date de modification.
  • name : tri par stub.
  • parent : tri selon l’identifiant parent.
  • password : tri par mot de passe.
  • rand : affichage aléatoire.
  • status : tri par statut.

Autres options possibles

Voici quelques autres fonctionnalités disponibles pour ce plugin qui peuvent vous être utile. (Merci encore à Elodie pour cette suggestion!)

  • thumbnail : afficher ou non l’image de présentation de l’article.
  • thumbnail_size : Spécifier la taille de l’image de présentation.
  • date : affiche ou non la date de l’article. (Possibilité ensuite de classer vos articles par date avec l’option « order by »).

Afin d’afficher votre image de façon plus propre, il est possible d’appliquer une classe à votre liste. utiliser pour ce faire l’option « class ».

Le plugin prend également en compte les pages statiques et fournit un Widget spécifique.

Pour en savoir plus sur le plugin dirigez-vous sur la page du plugin > List Category Posts.