Menu

Alleen WordPress subcategorieën tonen op categorie archief pagina

Remco 22 juni 2015

Veel WordPress thema’s tonen op de categorie archief pagina’s een lijst met categorieën waarin de berichten gepubliceerd zijn. Vaak wordt dit gerealiseerd met de get_the_category_list() of wp_list_categories() template functies. Op WordPress websites die intensief gebruik maken van categorieën kan deze categorieën lijst soms vrij lang worden. Daarom is het soms gewenst om deze categorie lijsten te beperken. In deze blog is te lezen hoe alleen de gekoppelde root of subcategorieën getoond kunnen worden.

In het Twenty Fifteen thema, wat standaard bij WordPress wordt meegeleverd, worden de categorieën getoond met behulp van de get_the_category_list() functie. Dit is in het thema terug te vinden in het template tags functies bestand inc/template-tags.php. De defintie van de get_the_category_list() functie is terug te vinden in het WordPress functies bestand wp-includes/category-template.php. Deze functie maakt gebruik van de get_the_category() functie om de bericht categorieën op te halen. De get_the_category() functie maakt op zijn beurt weer gebruik van de get_the_terms() functie. Deze functie past de filter get_the_terms toe op de gevonden categorieën welke we kunnen gebruiken om de categorieën te filteren.

WordPress categorieën alles
WordPress bericht waarbij alle categorieën worden getoond.

Onderstaande code zal er voor zorgen dat bij berichten alleen de hoofdcategorieën worden getoond. Op een categorie pagina zelf zullen alleen de subcategorieën getoond worden.

WordPress categorieën filter
WordPress bericht waarbij alleen de bovenliggende categorieën worden getoond.

Mocht je als WordPress ontwikkelaar dit zelf op een andere manier oplossen dan horen we het graag. Laat daarom gerust een reactie achter of volg ons op Twitter of Facebook. Ook voor het ontwikkelen van een op maat gemaakte WordPress thema ben je bij Pronamic aan het juiste adres. Neem daarom gerust contact met ons op of vraag vrijblijvend een offerte aan voor het ontwikkelen van een WordPress website.

Altijd op de hoogte blijven?