Op het moment dat een gebruiker zijn wachtwoord wijzigt, krijgt de ‘hoofd beheerder’ van de website daar een bericht van. Dat is natuurlijk prima bij een website met slechts enkele gebruikers, maar wanneer je een webshop of een online leeromgeving hebt met letterlijk duizenden gebruikers, dan wil je dat toch zeker voorkomen.
Hoe je dit doet, heb ik in het verleden al in een behoorlijk uitgebreid artikel beschreven, maar aangezien dit een voorbeeld van code was, kan ik mij goed voorstellen, dat je dit niet direct weet te vinden.
Dus uit dit toch wel lange artikel, haal ik even de code naar boven waar het werkelijk om gaat.
Verdorie, weer zo’n pluggable functie!
Helaas is de functie om dit mogelijk te maken een zogenaamde ‘pluggable’ functie. Hoe vervelend ‘pluggable functies’ zijn heb ik eerder al beschreven, maar aangezien er geen alternatief is, moeten we het er maar mee doen.
Aan de positieve kant, deze pluggable functie is wel heel eenvoudig.
In principe zouden we genoeg hebben aan één regel code… nou ja, twee met de PHP tag erbij (maar in de meeste gevallen, kan je die tag achterwege laten, zie ook dit blogartikel) :
<?php
function wp_password_change_notification() {}
Wil je er zeker van zijn dat jouw pluggable functie niet in conflict komt met andere pluggables, kan je de code nog ‘beveiligen’…
<?php
if (!function_exists('wp_password_change_notification')) {
function wp_password_change_notification() {}
}
Zelf doe ik het laatste liever niet. Om de eenvoudige reden, dat wanneer ik het niet doe, PHP mij vertelt, waar de conflicterende functie zit. De website knalt, maar aangezien ik natuurlijk altijd werk op een staging kopie of een locale website, zal ik hier geen last van hebben in een live omgeving.
Ik ga liever het conflict aan, dan dat ik mij hier op voorhand voor verschuil.
Een ander punt waar je rekening mee moet houden, is dat ‘pluggable’ functies niet overruled kunnen worden vanuit de functions.php. Wil je deze code implementeren, dan moet je dit doen in je ‘snippet plugin‘ zoals ik heb beschreven in een eerdere post.