[Résolu] affichage du nombre d’articles d’une catégorie (Créer un compte)

  • WordPress :6.7
  • Statut : résolu
  • Ce sujet contient 33 réponses, 3 participants et a été mis à jour pour la dernière fois par fifidibosco, le il y a 1 mois.
15 sujets de 1 à 15 (sur un total de 32)
  • Auteur
    Messages
  • #2488827
    fifidibosco
    Participant
    Initié WordPress
    28 contributions

    Ma configuration WP actuelle

    • Version de PHP/MySQL : 8.2.23
    • Thème utilisé : Kadence
    • Extensions en place : Elementor, loco translate, PDF poster, sticky menu, WP latest posts
    • Nom de l’hébergeur : Local
    • Adresse du site : Local

     

    Problème(s) rencontré(s) :

    Bonjour à tous,

    j’aimerais savoir s’il existe un widget qui permette d’afficher le nombre d’articles d’une catégorie.

    Par avance merci,

    Fifi

     

    #2488830
    ferman
    Modérateur
    Maître WordPress
    7621 contributions

    Bonjour,

    Oui: vous avez ce widget. Il y en a peut-être d’autres.

    #2488866
    fifidibosco
    Participant
    Initié WordPress
    28 contributions

    Merci ferman, je vais voir ça de ce pas 😉

    fifi

    #2488872
    fifidibosco
    Participant
    Initié WordPress
    28 contributions

    Après avoir essayé l’extension WP Categories Widget, il s’avère que ça correspond pas exactement à ce que je cherche.

    Ce que je voudrai c’est pouvoir afficher le nombre d’articles d’une catégorie dans un texte directement dans le corps d’une page, dans le genre « la catégorie Camions bleus contient 6 documents », pas dans une barre latérale.

    je continue à chercher,

    fifi

    #2488879
    ferman
    Modérateur
    Maître WordPress
    7621 contributions

    Ce que je voudrai c’est pouvoir afficher le nombre d’articles d’une catégorie dans un texte directement dans le corps d’une page

    Donc ce n’est pas un widget que vous recherchez (on ne peut pas le mettre dans le corps d’une page) mais une extension ou du code. Je ne sais pas si une extension juste pour ça existe mais voici un petit morceau de code (il en existe d’autres)  qui devrait permettre de faire ce que vous voulez.

    	
    function countcateg(){
    ob_start();
    $terms = get_terms (array( 'taxonomy'=>'category',
    'hide_empty'=> 1 )); //Exclut les catégories vides .'hide_empty'=> 0: Inclut les catégories vides.

    ?><div><ul class = "post_count"><?php

    foreach ($terms as $term):

    $term_count = $term->count;
    $term_name = $term->name;
    $term_id = $term->term_id;

    echo '<li>'. "La catégorie" .'<a href="' . get_term_link( $term_id ).'">' .' &nbsp'. $term_name .'</a>'.' &nbsp'."compte".' &nbsp' .'<span>'. $term_count .'</span>'.' &nbsp'. "documents". '</li>';

    endforeach;

    ?><ul></div><?php
    return ob_get_clean()
    }
    add_shortcode ('votre_shortcode', 'countcateg');

    Je suppose que vous savez utiliser les shortcodes?

    Le code lui même est à copier/coller soit dans fonctions.php d’un thème enfant soit (c’est le plus simple) de passer par le plugin « code snippets« :Ajouter un nouvel extrait, lui donner un nom et copier/coller le code dans la fenêtre. Enregistrer et activer.

    Il ne restera qu’un peu de mise en page à faire en CSS.

    • Cette réponse a été modifiée le il y a 1 mois et 1 semaine par ferman.
    • Cette réponse a été modifiée le il y a 1 mois et 1 semaine par ferman.
    • Cette réponse a été modifiée le il y a 1 mois et 1 semaine par ferman.
    • Cette réponse a été modifiée le il y a 1 mois et 1 semaine par ferman.
    #2488896
    gav974
    Participant
    Initié WordPress
    29 contributions

    Bonjour, en voici un autre personnalisé ou celui-ci va chercher tous les articles ayant un statut publié :

    function noucode_category_count($atts) {

    $atts = shortcode_atts(
    array(
    'category_name' => 'uncategorized'
    ),
    $atts,
    'my_count_category'
    );


    $args = array(
    'post_type' => 'post',
    'category_name' => $atts['category_name'],
    'post_status' => 'publish',
    );


    $response_query = new WP_Query($args);


    $number_post = $response_query->found_posts;


    $render_html = "<p>Vous avez {$number_post} article(s) dans la catégorie <strong>{$atts['category_name']}</strong>.</p>";

    return echo _e($render_html);
    }

    add_shortcode('my_count_category', 'noucode_category_count');

    Il suffira juste d’écrire comme ceci : [my_count_category category_name= »nom de la catégorie »]

    • Cette réponse a été modifiée le il y a 1 mois et 1 semaine par gav974.
    • Cette réponse a été modifiée le il y a 1 mois et 1 semaine par gav974.
    #2488899
    fifidibosco
    Participant
    Initié WordPress
    28 contributions

    Bonjour ferman et merci

    je ne pourrai vérifier que ce weekend et je reviendrai avec le résultat (ou de nouvelles questions…)

    bonne journée

    fifi

     

    #2488946
    ferman
    Modérateur
    Maître WordPress
    7621 contributions

    Bonjour,

    je ne pourrai vérifier que ce weekend et je reviendrai avec le résultat (ou de nouvelles questions…)

    Je ne serai disponible ni ce weekend ni la semaine prochaine mais vous ne devriez pas avoir de problème. Le rendu pourra éventuellement être ajusté en CSS  à votre goût ultérieurement.

     

    #2488952
    ferman
    Modérateur
    Maître WordPress
    7621 contributions
    Cette réponse a été marquée comme privée.
    #2488955
    gav974
    Participant
    Initié WordPress
    29 contributions
    Cette réponse a été marquée comme privée.
    #2488958
    ferman
    Modérateur
    Maître WordPress
    7621 contributions
    Cette réponse a été marquée comme privée.
    #2489000
    ferman
    Modérateur
    Maître WordPress
    7621 contributions

    Bonjour @fifidibosco,

    Je me rends compte seulement maintenant que vous souhaitez afficher le nombre d’articles pour une seule catégorie. Dans ces conditions il faut préciser cette catégorie dans la première ligne du code que je vous avais donné (qui est prévu pour afficher le nombre d’articles pou chaque catégorie) donc voici le code modifié:

    function countcateg(){
    ob_start();
    $terms = get_terms (array( 'taxonomy'=>'category','name' => 'uncategorized',
    'hide_empty'=> 1 )); //Exclut les catégories vides .'hide_empty'=> 0: Inclut les catégories vides.

    ?><div class = "post_count"><ul >
    <p class = "nombre_articles">Nombre de documents par catégories</p>
    <?php

    foreach ($terms as $term):
    $term_name = $term->name;

    $term_count = $term->count;

    $term_id = $term->term_id;

    echo '<li>'. "La catégorie" .'<a href="' . get_term_link( $term_id ).'">' .' &nbsp'. $term_name .'</a>'.' &nbsp'."compte".' &nbsp' .'<span>'. $term_count .'</span>'.' &nbsp'. "documents". '</li>';

    endforeach;

    ?><ul></div><?php
    return ob_get_clean();
    }
    add_shortcode ('votre_shortcode', 'countcateg');

    Le code donné par @gav974 est prévu pour afficher le nombre d’aricles pour une catégorie. il fonctionne bien mais il faut modifier la dernière ligne de la manière suivante:

     return echo _e($render_html);

    //modifier en

    return _e($render_html);

    Dans les deux cas pensez à remplacer « uncategorized » par le nom de votre catégorie

    Dans les deux cas, suivez la procédure indiquée dans la réponse #2488879 pour appliquer le code.

    #2489001
    fifidibosco
    Participant
    Initié WordPress
    28 contributions

    Bonjour ferman

    comment je fais pour insérer le code dans la page ? Il n’y a pas de short code ?

    je devrais être rentré demain midi j’essaie en arrivant…

    fifi

     

    #2489002
    fifidibosco
    Participant
    Initié WordPress
    28 contributions

    Bonjour gv974

    merci pour le coup de main mais vos messages apparaissent en « réponse privée », je ne peux pas les lire.

    fifi

    • Cette réponse a été modifiée le il y a 1 mois et 1 semaine par fifidibosco.
    #2489004
    ferman
    Modérateur
    Maître WordPress
    7621 contributions

    merci pour le coup de main mais vos messages apparaissent en « réponse privée », je ne peux pas les lire.

    C’était juste un échange entre gv974 et moi.

    Le shortcode doit être mis dans la page. Voir ICI.

15 sujets de 1 à 15 (sur un total de 32)
  • Vous devez être connecté pour répondre à ce sujet.