Hoe werkt de primaire categorie functionaliteit in WordPress

Van de week moest ik voor een WordPress website een PHP functie schrijven die telkens het database id van de primaire categorie teruggeeft. Dit was zo gedaan en tijdens het testen kreeg ik het juiste id terug.

Toen ik het een dag later nogmaals deed testen bij andere berichten klopte het niet meer. Dit probleem deed zich alleen voor bij berichten met meerdere categorieën.

Wat was nou het geval. Mijn code gaf het id terug van de categorie die als eerste aangevinkt was. De code hield geen rekening met welke categorie ik als primair had ingesteld bij een bericht.

Op internet ben ik vervolgens gaan zoeken naar een oplossing. Tot mijn verbazing las ik dat het selecteren van een primaire categorie geen WordPress core functionaliteit is. Dit wordt toegevoegd nadat je Yoast SEO hebt geïnstalleerd.

WordPress zal mij dus nooit vertellen welke categorie primair is ingesteld. Ik heb mijn code vervolgens aangepast op basis van het antwoord op onderstaande pagina. Vervolgens opnieuw getest bij verschillende berichten die een of meerdere categorieën hadden en het werkte perfect.

How to get primary category set via Yoast seo plugin in WordPress

Doordat de code controleert of de class “WPSEO_Primary_Term” bestaat kan er nooit een fatal error worden veroorzaakt als Yoast wordt uitgeschakeld of verwijderd. Mocht dat toch gebeuren dan geeft de code het id van de eerst aangevinkte categorie terug.

Tags: geen tags

Laat een reactie achter

Your email address will not be published. Required fields are marked *

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.