In dit artikel gaan we bekijken hoe je PHP code toevoegt aan je WordPress website. Dit kan op verschillende manieren. Kijk zelf welke manier je het beste ligt. Ook ga je lezen hoe je PHP code toevoegt aan een pagina of bericht/post met een plugin. Lees lekker verder.
Ja, ik wil ook het beste WordPress thema hebben, net zoals ProgrammeerPlaats!
Soms wil je iets meer details aan een WordPress website toevoegen dan wat het geïnstalleerde thema te bieden heeft. Of je wil iets aanpassen, waar PHP voor nodig is. Wel handig is dan om te weten hoe je PHP code toevoegt in een WordPress website.
Wil je eerst meer over PHP leren. Lees dan het “PHP leren” artikel. Ook staan er op Pluralsight hele goede cursussen om meer over PHP te leren.
Laten we nu gaan kijken wat er nodig is om PHP code toe te voegen aan een WordPress website en welke manieren er zijn.
Child theme maken
Ten eerste is het handig om een child theme te maken. Het is geen verplichting, zonder child theme kan je ook PHP code toevoegen aan je website, maar het is wel de meest nette manier. Lees in “Child theme maken in WordPress” wat een child theme is en hoe je het maakt.
Je zou bijvoorbeeld ook in de PHP bestanden van je parent theme PHP code kunnen toevoegen. Je gaat hierdoor wel in de problemen komen. Bij een update van je geïnstalleerde thema zijn al jouw PHP aanpassingen en toevoegingen weer verdwenen.
Dit wil je niet! Na elke update van het geïnstalleerde thema zou je dan opnieuw al jouw PHP code moeten toevoegen, wat je eerder ook al had gedaan. Dat is niet te doen.
Voorbeeld van PHP code toevoegen met een child theme in WordPress
Laten we gaan kijken naar een simpel voorbeeld waarbij je PHP code toevoegt in een child theme. We gaan er vanuit dat je een child theme hebt gemaakt.
Het beste is om lokaal te testen. Mocht je online willen testen, dan dien je connectie te maken met de server, via een ftp client. Het is de bedoeling dat je in je child theme map PHP bestanden zet. Hierin kan je PHP code toevoegen.
In je parent theme staan al template files, waaronder ook veel PHP bestanden. Elk bestand in je child theme overschrijft hetzelfde bestand in je parent theme, dit geldt alleen niet voor functions.php. functions.php van het child en parent theme worden allebei geladen in je WordPress website.
Het is verstandig om een geheel PHP bestand uit je parent theme te kopiëren naar je child theme. In je child theme kan je het bestand dan aanpassen.
Als voorbeeld nemen we header.php. Dit PHP bestand kopiëren we van het parent theme naar het child theme. In header.php in het child theme zetten we dit stukje code: echo date("l");
Hiermee halen we in het Engels de huidige dag op. Let er wel op dat dit stukje code ergens staat tussen <?php
en ?>
, anders wordt het stukje PHP code niet gelezen.
We hebben het ergens in header.php gepropt en dit is het resultaat:
Je ziet “Wednesday” onder de header staan. Dit is zeker niet netjes en normaal zou je zoiets niet doen, maar het is een voorbeeld van hoe je PHP code toevoegt in een child theme, met een PHP bestand dat hetzelfde PHP bestand in het parent theme overschrijft.
Voor nu zou je het header.php in je child theme gewoon kunnen verwijderen, als je er niks meer mee doet. Dan is ook gelijk dat lelijke voorbeeld weg ;-).
Je hoeft niet alleen maar bestanden uit je parent theme te kopiëren naar je child theme en daar aan te passen. Het is ook mogelijk om (PHP) bestanden te maken in je child theme die niet in je parent theme staan en daar aanpassingen in te doen.
Hooks gebruiken
Het voorbeeld uit het vorige hoofdstuk is leuk, je weet nu hoe je PHP code toevoegt in een child theme. Maar hoe kan je functionaliteiten van WordPress, een thema of een plugin makkelijk aanpassen of uitbreiden?
Dit kan je doen met hooks! WordPress heeft hooks beschikbaar gesteld, waardoor jij makkelijk bepaalde functionaliteiten van WordPress zelf kan aanpassen of uitbreiden.
Sommige thema’s en plugins stellen ook hooks beschikbaar voor developers. Er zijn 2 verschillende soorten hooks, namelijk Actions en Filters.
Actions
Actions zorgen ervoor dat bij een bepaalde gebeurtenis code wordt uitgevoerd. Je zou bepaalde functionaliteiten binnen WordPress kunnen veranderen of een uitbreiding implementeren.
Een goed voorbeeld hebben we al voorbij zien komen in het functions.php bestand van een child theme. Met dit voorbeeld laden we het style.css bestand van een parent theme in:
<?php add_action('wp_enqueue_scripts', 'enqueue_parent_styles'); function enqueue_parent_styles() { wp_enqueue_style('parent-style', get_template_directory_uri().'/style.css'); }
De add_action()
function zorgt ervoor dat voor een bepaalde hook een function wordt uitgevoerd. “wp_enqueue_scripts” is de hook en enqueue_parent_styles()
is de function die je hebt gemaakt.
Op de officiële website van WordPress vind je meer informatie over Actions.
Filters
Met Filters is het mogelijk om met functions code van andere functions aan te passen. Stel dat je de titel van een bericht wil aanpassen met een Filter, dan zou je dat zo kunnen doen in functions.php:
<?php add_filter('the_title', 'titel_filter_voorbeeld'); function titel_filter_voorbeeld($titel) { return 'De ' . $titel . ' is aangepast door de Filter!'; }
add_filter()
is een function die een function uitvoert bij een bepaalde hook (Filter). “the_title” is in dit geval de hook (Filter) en titel_filter_voorbeeld()
is de function die uitgevoerd wordt bij de desbetreffende Filter.
Lees in Filters op de officiële website van WordPress meer over Filters.
GeneratePress
Sommige WordPress themes maken het makkelijker voor developers om met hooks te werken. GeneratePress doet dat ook. ProgrammeerPlaats gebruikt GeneratePress als WordPress thema.
Het is daardoor makkelijker om aanpassingen te maken binnen een thema. GeneratePress heeft eigen hooks gemaakt, waardoor het eenvoudig is om functions toe te voegen binnen bepaalde gedeeltes van het thema.
In de uitgebreide documentatie op de website van GeneratePress, staan ook nog handige artikelen over hoe je gebruik maakt van hooks. Wij van ProgrammeerPlaats zijn erg tevreden over GeneratePress en raden je aan om “GeneratePress review en ervaringen” te lezen.
Ja, ik wil ook het beste WordPress thema hebben, net zoals ProgrammeerPlaats!
PHP code toevoegen aan een bericht/post of pagina in WordPress met een plugin
Misschien wil je wel geen functionaliteiten aanpassen en/of uitbreiden aan WordPress, een thema en/of een plugin, maar alleen aan een pagina of bericht.
Normaal is het niet mogelijk om PHP te gebruiken in een pagina of bericht, maar met plugins kan dat gelukkig wel. “Insert PHP Code Snippet” is daar een geschikte plugin voor.
Hoe werk de Insert PHP Code Snippet plugin?
We gaan een simpel stukje code toevoegen aan een pagina met de “Insert PHP Code Snippet” plugin. Op deze manier weet je hoe de plugin werkt en kan je zelf verder aan de slag.
De eerste stap is natuurlijk om de plugin te downloaden. Als je dat hebt gedaan, klik je in het Dashboard op de plugin:
Klik op “Add New PHP Code Snippet” om een stukje PHP code snippet toe te voegen. Dan kom je hierop uit en vullen we dit in:
Hier nogmaals de PHP code, zodat je het makkelijk kan kopiëren:
<?php echo "Ik heb PHP code geschreven in mijn WordPress Pagina!"; ?>
Klik op “Create”. Daarna kom je hier terecht:
Kopieer de “Snippet Short Code” en kijk of de code snippet “Active” is. Plak de “Snippet Short Code” in een WordPress pagina, in de editor:
In de Gutenberg editor kan je ook gewoon de shortcode invullen. Sla de wijzigingen op en bekijk de pagina:
Zo simpel is het dus om PHP code toe te voegen aan een pagina of bericht, dankzij de “Insert PHP Code Snippet” plugin!
Hopelijk heb je meer geleerd over hoe je PHP code toevoegt in een WordPress website.
Het artikel “WordPress plugin maken” is ook interessant om door te nemen, mocht je daar interesse in hebben.
Heb je nog vragen en/of opmerkingen? Laat dan hieronder een reactie achter of neem contact op.