X

Comment compter tous les articles d'une catégorie dans WordPress

Extraits par IsItWP

Vous cherchez un moyen de compter tous les articles d'une catégorie et de l'afficher dans WordPress ? Bien qu'il existe probablement un plugin pour cela, nous avons créé un extrait de code rapide que vous pouvez utiliser pour compter tous les articles d'une catégorie dans WordPress.

Instructions :

Il vous suffit d'ajouter ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site :

function count_cat_post($category) {
if(is_string($category)) {
	$catID = get_cat_ID($category);
}
elseif(is_numeric($category)) {
	$catID = $category;
} else {
	return 0;
}
$cat = get_category($catID);
return $cat->count;
}

Vous pouvez utiliser ce code pour afficher le nombre de publications d'une catégorie n'importe où sur votre site, soit par ID de catégorie, soit par nom de catégorie :

<?php

// echo  count_cat_post('1');
// echo  count_cat_post('General');

?>

Supprimez simplement '//' de n'importe quelle ligne de code pour l'utiliser.

Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière d'ajouter correctement des extraits de code dans WordPress, afin de ne pas endommager accidentellement votre site.

Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : 15 meilleurs outils de marketing de contenu et comment créer un formulaire de contact dans WordPress.

Commentaires   Laisser une réponse

  1. Oussama Jarmouni March 6, 2022 at 4:53 pm

    Salut,
    Comment puis-je utiliser la même fonction mais avec la relation « ET ».

    seuls les articles qui ont les deux catégories seront retournés.

  2. Md. Yasin Siddiquee August 11, 2020 at 11:58 am

    Comment pouvons-nous passer l'ID ou le nom dynamiquement ?

    1. Vous pouvez passer une variable à la fonction. Par exemple, vous pourriez passer l'ID de la première catégorie retournée par la fonction get_the_category() : https://developer.wordpress.org/reference/functions/get_the_category/

      Notez que cela nécessite de travailler avec des tableaux et des objets, car la valeur retournée par get_the_category() est un tableau d'objets.

      Par exemple, vous pourriez utiliser :

      $cat = get_the_category();
      $cat_id = $cat[0]->cat_ID;//Récupère le premier id

  3. Avec la dernière version de WP, il y a eu quelques bugs qui empêchaient tout cela de fonctionner immédiatement, donc si quelqu'un d'autre a des problèmes :


    function count_cat_post($catslug){
    $CategoryTerms = get_term_by('slug', $catslug, 'category');
    if(!$CategoryTerms){
    return 0;
    }
    return $CategoryTerms->count;
    }

    1. Bonjour Jason,
      Merci pour cela. Cependant, nous avons pu tester sur WordPress 5.4 et cela fonctionne pour nous sans erreurs.

  4. AUSSI,

    utilisez get_the_category car get_category générera une erreur avec les dernières versions de WordPress sur tout ce qui a des publications et retournera 0 sur ceux qui n'en ont pas, causant un petit casse-tête de dépannage.

    1. Nous ne voyons pas cela. Quel est le message d'erreur que vous recevez ?

  5. aussi ça :

    return $cat->category_count;

    car count est une fonction php.

    1. $cat est un objet WP_Term, avec count étant une propriété publique entière.

  6. y a-t-il un moyen de ne pas mettre le nom ou l'id de la catégorie ? j'ai tellement de catégories. je ne peux pas venir dans le code et ajouter chaque id ou nom dans le code. j'ai besoin que wordpress le fasse automatiquement.

    1. Dans votre modèle, il y aura une zone où le nom de la catégorie est affiché, il y a probablement une partie qui utilise une variable égale à l'id ou au slug de la catégorie, que vous pouvez utiliser à la place pour obtenir le compte. Quelque chose qui finit par ressembler à :

      // echo count_cat_post($cat_id);

    2. Vous pourriez utiliser une boucle for pour parcourir les catégories. Vous pourriez vouloir utiliser get_categories() dans ce cas : https://developer.wordpress.org/reference/functions/get_categories/

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ nom. Ayons une conversation personnelle et significative.

Liste de contrôle de lancement WordPress

La checklist ultime pour lancer un WordPress

Nous avons compilé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi l'eBook gratuit !