WordPress coding standards: complete gids voor themes en plugins
WordPress coding standards maken maatwerk themes, plugins en blocks beter leesbaar, consistenter en eenvoudiger te onderhouden. Ontdek welke standaarden er zijn, hoe je ze controleert en welke vragen je als opdrachtgever stelt.
WordPress coding standards zijn de officiële afspraken voor consistente, leesbare en onderhoudbare WordPress-code. Ze gelden vooral voor maatwerk in themes, plugins en blocks, en omvatten PHP, JavaScript, CSS, HTML, toegankelijkheid en documentatie. Voor een bedrijf zijn ze een praktisch kwaliteitscriterium: ze verkleinen de afhankelijkheid van één developer en maken wijzigingen, code reviews en toekomstig onderhoud beter beheersbaar.
De standaarden zijn geen complete security-audit en ook geen garantie dat iedere functie goed is ontworpen. Ze geven wel een gedeelde basis voor codekwaliteit. Laat ze daarom onderdeel zijn van de technische oplevering van een maatwerkwebsite, naast functioneel testen, toegangsbeheer en een onderhoudsproces.
Wat zijn WordPress coding standards?
De WordPress Coding Standards zijn taal- en domeinspecifieke richtlijnen uit de officiële WordPress Developer Resources. Ze beschrijven hoe code voor WordPress op een herkenbare manier wordt geschreven en gedocumenteerd. Daarbij horen standaarden voor PHP, JavaScript, CSS, HTML, toegankelijkheid en inline documentatie.
Een consistente stijl is niet alleen cosmetisch. Als naamgeving, inspringing, documentatie en codepatronen voorspelbaar zijn, kan een andere developer sneller begrijpen wat de code doet. Dat is relevant wanneer een website groeit, wanneer een bureau wisselt of wanneer maatwerk wordt uitgebreid.
Bij een strategisch creatief webdesigntraject is codekwaliteit daarom een technisch randvoorwaarde naast ontwerp, inhoud en conversie. Voor een overzicht van de bredere mogelijkheden kun je ook onze diensten voor webdesign, SEO en online marketing bekijken.
Voor welke WordPress-code zijn de standaarden relevant?
De standaarden zijn vooral nuttig voor code die je zelf ontwikkelt en onderhoudt:
- maatwerk WordPress-themes en block themes;
- eigen plugins en mu-plugins;
- custom blocks voor de block editor;
- integraties met formulieren, CRM-systemen of externe API's;
- aanpassingen aan WooCommerce of andere plugins, bij voorkeur via hooks en filters.
Ongewijzigde externe libraries hoef je doorgaans niet te herschrijven naar de WordPress-stijl. Bewaar zulke afhankelijkheden gescheiden van eigen code en documenteer waarom ze nodig zijn. Pas je een library zelf aan, dan ontstaat wel extra onderhoudsrisico.
Stijlregels, best practices en beveiliging: het verschil
Coding standards worden soms te breed uitgelegd. Ze helpen bij een consistente implementatie, maar vervangen geen architectuurkeuzes, teststrategie of beveiligingscontrole.
- Coding style: afspraken over onder meer formatting, naamgeving, spaties en documentatie.
- WordPress-best practices: WordPress-API's, hooks, vertaalbaarheid en gangbare patronen voor themes en plugins.
- Beveiliging: invoer valideren en sanitizen, uitvoer escapen, rechten controleren en veilige database-interactie toepassen.
- Toegankelijkheid: semantische HTML, bruikbare formulieren, toetsenbordbediening en begrijpelijke interacties.
- Projectafspraken: keuzes die specifiek zijn voor jouw repository, deployment en team.
Een goed project legt vast welke laag door welke controle wordt afgedekt. Daarmee voorkom je dat een foutloze style-check wordt aangezien voor een volledige kwaliteits- of securitycontrole.
De belangrijkste onderdelen per techniek
PHP voor themes en plugins
De PHP-standaard behandelt onder meer formatting, naamgeving, arrays, functies, classes, databasecode en documentatie. In WordPress-maatwerk is vooral belangrijk dat code aansluit op de WordPress-werkwijze: gebruik beschikbare API's waar dat past, werk met hooks in plaats van kernbestanden te wijzigen en maak duidelijk waar invoer binnenkomt en uitvoer wordt getoond.
Bij gegevens uit formulieren, URL-parameters of externe koppelingen hoort een developer bewust om te gaan met validatie, sanitizing en escaping. Welke bewerking nodig is, hangt af van de context en het verwachte datatype. Blind dezelfde functie op alle data toepassen is geen zorgvuldig patroon.
JavaScript en de block editor
Voor block-editorontwikkeling zijn consistente imports, componentstructuren, documentatie en linting belangrijk. De Block Editor Handbook bevat aanvullende coding guidelines voor JavaScript, CSS, PHP en documentatie. Houd editorcode, front-endgedrag en buildbestanden overzichtelijk gescheiden. Zo blijft een block beter te testen en eenvoudiger aan te passen.
HTML en CSS
HTML en CSS bepalen mede of een theme duurzaam bruikbaar is. Kies semantische elementen op basis van betekenis, niet alleen op basis van opmaak. Gebruik CSS-classes en componentnamen die een developer kan herleiden naar een onderdeel. Vermijd inline styles en losse uitzonderingen wanneer een herbruikbare component of patroon beter past.
Toegankelijkheid en vertaalbaarheid
Toegankelijkheid hoort niet pas aan het einde van een project op de checklist. Denk tijdens ontwikkeling aan correcte labels bij formuliervelden, duidelijke focus bij toetsenbordgebruik, betekenisvolle knoppen en een logische documentstructuur. Maak teksten die in code staan bovendien vertaalbaar volgens de WordPress-conventies. Daarmee voorkom je dat vaste interfacewoorden later moeilijk aan te passen of te lokaliseren zijn.
Inline documentatie
Documentatie in de code is vooral waardevol waar de bedoeling niet direct uit de implementatie blijkt: publieke functies, hooks, filters, complexe datavormen en afwijkende keuzes. Goede PHPDoc- en JavaScript-documentatie maakt duidelijk welke invoer een functie verwacht, wat de uitvoer is en welke neveneffecten relevant zijn.
WordPress Coding Standards controleren met PHP_CodeSniffer
PHP_CodeSniffer is tooling die broncode tegen een regelsysteem controleert. WordPressCS levert regels voor WordPress-code aan deze tool. Zo kan een team veel stijl- en patroonafwijkingen vroeg signaleren, in plaats van ze pas tijdens een handmatige code review te ontdekken.
Een melding is geen opdracht om zonder nadenken code te wijzigen. Lees de regel, beoordeel de context en kies een gerichte oplossing. Als een uitzondering echt nodig is, leg die dan lokaal en beargumenteerd vast. Een brede uitschakeling van controles maakt de kwaliteitsbewaking minder betrouwbaar.
Zo voer je coding standards vandaag in
- Bepaal de scope. Maak een lijst van eigen themes, plugins, blocks en integraties. Begin bij actieve maatwerkcode, niet bij alle vendor-bestanden.
- Kies de bron van waarheid. Neem de officiële WordPress Coding Standards als uitgangspunt en leg aanvullende projectafspraken vast in de repository.
- Installeer PHP_CodeSniffer en WordPressCS. Beheer de tooling als projectafhankelijkheid, zodat iedere developer met dezelfde regels werkt.
- Maak een projectruleset. Leg daarin de te controleren mappen vast, sluit externe afhankelijkheden uit en documenteer doelgerichte uitzonderingen.
- Koppel de controle aan de editor. Laat afwijkingen tijdens het ontwikkelen zichtbaar worden. Dit verkort de feedbacklus aanzienlijk.
- Voeg checks toe aan de Git-workflow. Draai de controles vóór een merge of deployment. Combineer dit met relevante linting en geautomatiseerde tests.
- Plan een menselijke code review. Controleer naast meldingen ook architectuur, leesbaarheid, toegankelijkheid, foutenafhandeling en de gevolgen voor de beheerder.
- Neem de uitkomst op in de oplevering. Leg vast welke checks zijn uitgevoerd, welke uitzonderingen bestaan en waar de technische documentatie staat.
Praktische scorecard voor een maatwerk WordPress-project
Gebruik deze scorecard bij een offerte, sprintreview of oplevering. Beoordeel elk onderwerp als op orde, deels op orde of actie nodig, en vraag om een concreet bewijsstuk.
| Onderdeel | Waar let je op? | Concreet bewijs | Status om vast te leggen |
|---|---|---|---|
| Eigen code afgebakend | Maatwerk is gescheiden van externe libraries en WordPress-core. | Repositorystructuur en overzicht van plugins of integraties. | Op orde / deels op orde / actie nodig |
| PHP-codecontrole | Eigen PHP-code wordt gecontroleerd met PHP_CodeSniffer en WordPressCS. | Projectruleset en uitvoer van de controle in de build of CI. | Op orde / deels op orde / actie nodig |
| Invoer en uitvoer | Formulierdata, URL-parameters en externe gegevens krijgen contextgerichte verwerking. | Code-reviewnotitie met relevante voorbeelden. | Op orde / deels op orde / actie nodig |
| Hooks en uitbreidbaarheid | Maatwerk wijzigt geen WordPress-core en gebruikt uitbreidbare patronen waar passend. | Overzicht van eigen hooks, filters en belangrijke integratiepunten. | Op orde / deels op orde / actie nodig |
| Toegankelijkheid | Templates en blocks gebruiken semantische HTML, labels en toetsentoegankelijke interacties. | Testnotitie en voorbeelden van kritieke formulieren en componenten. | Op orde / deels op orde / actie nodig |
| Vertaalbaarheid | Interface-teksten in maatwerkcode zijn voorbereid op vertaling. | Overzicht van tekstdomein en vertaalbestanden of -proces. | Op orde / deels op orde / actie nodig |
| Documentatie | Complexe functies, datastromen en uitzonderingen zijn gedocumenteerd. | README, technische documentatie en relevante inline documentatie. | Op orde / deels op orde / actie nodig |
| Overdracht en onderhoud | Een opvolgende developer kan code, configuratie en deployment begrijpen. | Toegangsoverdracht, repository, deploymentinstructie en changelog. | Op orde / deels op orde / actie nodig |
WordPress Coding Standards versus PSR-12 en eigen afspraken
PSR-12 is een algemene PHP-codeerstijl. WordPress Coding Standards zijn geschreven voor het WordPress-ecosysteem en sluiten aan op WordPress-conventies en tooling. Daardoor kunnen keuzes verschillen. Meng beide niet willekeurig in één codebase.
Kies voor maatwerk dat hoofdzakelijk in WordPress leeft in principe één primaire stijlbasis. Voeg alleen projectafspraken toe als die een aantoonbaar doel hebben, bijvoorbeeld rond bestandsstructuur, naamgeving van blocks, buildprocessen of deployment. Beschrijf afwijkingen expliciet, zodat ze geen impliciete kennis van één developer worden.
Veelgemaakte fouten bij uitbesteed WordPress-development
- Alleen vragen of code “volgens best practices” is gebouwd. Vraag welke checks draaien, welke regels gelden en hoe uitzonderingen worden vastgelegd.
- Een visuele oplevering verwarren met technische overdracht. Vraag ook om repositorytoegang, documentatie en een overzicht van maatwerk.
- Core of pluginbestanden direct aanpassen. Dit maakt updates kwetsbaar. Vraag welk uitbreidingspunt of welke integratielaag is gebruikt.
- Geen onderscheid maken tussen eigen code en leverancierscode. Daardoor wordt onderhoud onnodig complex en zijn controles minder bruikbaar.
- Alleen automatisch controleren. Tooling vindt niet ieder functioneel, architectonisch of toegankelijkheidsprobleem. Menselijke review blijft nodig.
Ook relevant voor SEO en beheer
Onderhoudbare code maakt technische aanpassingen beter beheersbaar, maar voorkomt niet automatisch SEO-problemen. Controleer na wijzigingen daarom ook redirects, interne links en foutpagina's. Lees onze gids over 404- en soft-404-fouten oplossen wanneer pagina's, templates of URL-structuren veranderen.
Conclusie
WordPress coding standards geven maatwerkdevelopment een gemeenschappelijke, controleerbare basis. Gebruik ze voor eigen themes, plugins, blocks en integraties, automatiseer controles met PHP_CodeSniffer en WordPressCS en vul die aan met code review, toegankelijkheidstesten en heldere overdracht. Zo beoordeel je niet alleen of een website er goed uitziet, maar ook of de technische basis goed te onderhouden is.
Wil je de technische kwaliteit, onderhoudbaarheid en groeimogelijkheden van een WordPress-website bespreken? Bespreek je website of online groeikansen met LYNX Media.
Bronnen
Bespreek je website of online groeikansen met LYNX Media
Heb je een vraag over dit onderwerp, of wil je weten wat er voor jouw site nodig is? Neem contact op.
Neem contact op
