§ 8. Come inserire il codice php eseguibile in un articolo o pagina di WordPress

Inserire un codice php eseguibile nel mezzo di un testo pubblicato su WordPress può essere utile in una molteplicità delle situazioni. Per esempio, avete bisogno di utilizzare un buttone «Acquista» che invii il prodotto o il servizio descritto nel testo al carrello del visitatore; una form particolare; un contatore di qualsiasi tipo etc.
La nostra soluzione però è sempre la stessa: apriamo il file functions.php del tema e inseriamo in esso il seguente codice:

/* per inserire il codice php eseguibile negli articoli o nelle pagine di WordPress, utilizzate lo schema: [exec]codice php[/exec] */
function safe_exec_php_shortcode($atts, $content = null) {
    if (empty($content)) {
        return 'Errore: Nessun codice PHP trovato.';
    }
    $content = trim(html_entity_decode($content, ENT_QUOTES | ENT_HTML401, 'UTF-8'));
    $content = str_replace([ '“', '”', '‘', '’' ], [ '"', '"', "'", "'" ], $content);
    error_log("Codice ricevuto per eval: " . $content);
    if (strpos($content, 'echo') === 0) { 
        ob_start();
        eval($content . ';');  // Esegui con eval
        return ob_get_clean();
    }
    return 'Funzione non consentita.';
}
add_shortcode('exec', 'safe_exec_php_shortcode');

Fatto questo, nei testi degli articoli e delle pagine gli eventuali codici php eseguibili vanno pubblicati nel seguente modo:

[exec]codice php[/exec]

Attenzione! I tag [exec] e [/exec] sostituiscono la struttura <?php … ?> che in questo caso NON va dunque utilizzata.
Faccio subito un esempio:

[exec]echo date('Y');[/exec]

Ecco, abbiamo già fatto tutto. L’anno corrente auto-aggiornabile è inserito nel nostro testo.
Indovinate in quale articolo di Inerario ho già utilizzato la funzione appena pubblicata.
P.S.: se, invece, volete pubblicare il codice php in formato testo, fate in questo modo:

[exec off]codice php[/exec]