X

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

Snippets by IsItWP

Vous cherchez un moyen de compter tous les articles d’une catégorie et de les 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:

Tout ce que vous avez à faire est d’ajouter ce code dans le fichier functions.php de votre thème ou dans un plugin spécifique à votre 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 d’articles d’une catégorie n’importe où sur votre site web, soit par l’ID de la catégorie, soit par le nom de la catégorie :

<?php

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

?>

Il suffit de supprimer ‘//’ de n’importe quelle ligne de code pour l’utiliser.

Note : Si c’est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la façon 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 comme : 15 meilleurs outils de marketing de contenu et comment créer un formulaire de contact sur WordPress.

Commentaires   laisser une réponse

  1. Oussama Jarmouni mars 6, 2022 à 4:53 pm

    Hi,
    How can i use the same function but with the ‘AND’ relation.

    only posts that have both categories will return.

  2. Md. Yasin Siddiquee août 11, 2020 à 11:58 am

    How can we pass the id or name dynamically?

    1. You can pass a variable to the function. For example, you could pass the first returned category id of the get_the_category() function: https://developer.wordpress.org/reference/functions/get_the_category/

      Note that this requires working with arrays and objects, as the returned value from get_the_category() is an array of objects.

      For example, you could use:

      $cat = get_the_category();
      $cat_id = $cat[0]->cat_ID;//Gets the first id

  3. With the latest version of WP, there were some bugs with all of this working right out of the box, so if anyone else has trouble:


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

    1. Hi Jason,
      Thank you for this. However, we were able to test on WordPress 5.4 and it is working for us without errors.

  4. ALSO,

    use get_the_category since get_category will error out with the latest versions of wordpress on anything that has posts and return 0 on the ones that don’t, causing a little bit of a troubleshooting conundrum.

    1. We are not seeing this. What is the error message you are getting?

  5. also it:

    return $cat->category_count;

    since count is a php function.

    1. $cat is a WP_Term object, with count being an public int property.

  6. is the any way to not put category name or id? i have so many categories. cant come to code and add each ones id or name in the code. need wordpress to do it automaticly.

    1. In your template there will be an area where it is outputting the category name, there is likely a part of that that uses a variable that is equal to the category id or slug, that you can use instead to pull the count. Something that ends up like:

      // echo count_cat_post($cat_id);

    2. You could use a for loop to cycle through the categories. You may want to use get_categories() in this case: 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 privacy policy, et que tous les liens sont en nofollow. N'utilisez PAS de mots-clés dans le champ du nom. Engageons une conversation personnelle et constructive.

WordPress Launch Checklist

L'ultime liste de contrôle pour le lancement de WordPress

Nous avons rassemblé 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 le gratuit !