Code voorbeeld

Category count in specifieke wordpress categorie

Leestijd: 2 minuten (363 woorden)
profile image

Rick de Jong

Strategie

28 oktober 2012 07:05

Laatste update: 11 januari 2023 10:04

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');