Category count in specifieke wordpress categorie
Overzicht
Berichten uit categorie tonen
Geef je bezoekers inzicht
Met de category count functie kun je, waar dan ook in je template, het aantal berichten uit een specifieke categorie tonen. Stel je hebt in categorie A 150 hotels en in categorie B 65, dan kun je dat vanaf nu eenvoudig laten zien.
De code
Plaats onderstaande code in je functions.php
function tsd_get_category_count($input = '')
{
global $wpdb;
// Als er niet specifiek gezocht wordt dan zoeken we naar de eerst gevonden categorie van de huidige post of pagina.
// Als er geen categorie wordt gevonden sturen we nul terug.
if ($input === '') {
$categories = get_the_category();
if (empty($categories)) return 0;
return $categories[0]->category_count;
}
// Basis van onze SQL zoekopdracht
$SQL = "SELECT $wpdb->term_taxonomy.count FROM $wpdb->terms, $wpdb->term_taxonomy WHERE $wpdb->terms.term_id=$wpdb->term_taxonomy.term_id";
// Bij een numerieke waarde zoeken we naar de categorie ID
if (is_numeric($input)) {
$SQL .= " AND $wpdb->term_taxonomy.term_id=$input";
return $wpdb->get_var($SQL);
}
// Wanneer de input niet leeg is en geen numerieke waarde betreft dan zal het om een string waarde gaan.
// We zoeken dan naar de slug van de categorie
$SQL .= " AND $wpdb->terms.slug='$input'";
return $wpdb->get_var($SQL);
}
Vervolgens kun je in je index / archive / category / page / single template de volgende code plaatsen om het aantal berichten te tonen in die specifieke categorie:
echo tsd_get_category_count();
Ook mogelijk
Stel je wilt op de homepage al tonen hoeveel berichten er in een specifieke categorie staan, dan kan dat op deze manier gedaan worden:
echo tsd_get_category_count(1); // 1 is in dit geval het ID van de categorie
Of op basis van een slug:
echo tsd_get_category_count('category_slug');