Class gebruiken in een WordPress plugin

Het is handig om gebruik te maken van PHP classes als je een WordPress plugin schrijft. Reden hiervoor is dat je verplicht bent om unieke functienamen te gebruiken. Dit is echter niet nodig als je ze binnen een class gebruikt. Voor grotere applicaties is het natuurlijk sowieso handig om classes te gebruiken.

Let wel dat de class naam wel uniek moet zijn.

Hieronder volgt een voorbeeldscript van een hele simpele WordPress plugin ter illustratie.

<?php
/**
* Plugin Name: Hallo wereld
* Description: Voorbeeld plugin
* Version: 1.0
* Author: Bart Sallé
* Author URI: https://www.bartsalle.nl
* Plugin URI: https://www.bartsalle.nl
**/

// Exit if accessed directly
if (!defined('ABSPATH')) {
    exit;
}

class HalloWereldVoorbeeld {

    function __construct() {
        add_shortcode( 'groet', array($this,'groeten') );
    }

    function groeten() {
        $tijd = date("G");
        if($tijd < 6) {
            return "Goedenacht!";
        } elseif($tijd < 12) {
            return "Goedemorgen";
        } elseif($tijd < 18){
            return "Goedemiddag";
        } else {
            return "Goedenavond";
        }
    }

}

$halloWereldVoorbeeld = new HalloWereldVoorbeeld();

Overigens ken ik de nieuwe instantie van de class toe aan een variabele zodat bijvoorbeeld andere WordPress plugins gebruikte acties of filters in de class kunnen verwijderen. Ze kunnen op deze manier de variabele gebruiken en erin kijken.