Questa guida analizza come creare, gestire, usare e distruggere variabili e costanti utilizzabili in un plugin di Wordpress usando PHP.

Oggi vediamo come creare, gestire, usare e distrubbere variabili e costanti tutto quello che ci server per gestire un plugin in WordPress.

Questa guida non si preoccupa di come creare o gestire un plugin in WordPress, ma per fare chiarezza e per far si che  la parte successiva sia capita bene dobbiamo definire le basi di un generico plugin in WordPress. Come esempio prendiamo un plugin generico chiamato wp-plugin-esempio, questo plugin ha una sua directory nella cartella /wp-content/plugins  che deve avere lo stesso nome del plugin, all’interno di questa cartella per convenzione ci deve essere un file chiamato wp-plugin-esempio.php che definisce gli attributi del plugin e lo descrive.

Definire e Usare Costanti

E’ giusto definire delle costanti che verrano usate per accedere alle directory, questo viene fatto per evitare di usare percorsi statici che creano problemi quando il plugin viene spostato da un sito all’altro.  WordPress mette a disposizione delle funzioni per fare cio’, ecco un breve elenco di queste funzioni con relativa descrizione:

  • plugin_basename( string $file ) restituisce il nome base di un plugin, questo puo’ essere usato per rendere il codice piu’ standard invece di usare una stringa. Nel nostro caso questa funzione ritorna “wp-plugin-esempio/wp-plugin-esempio.php
  • plugin_dir_path( string $file ) restituisce il percorso del filesystem della variabile $file. Nel nostro caso (ma questo dipende dalla configurazione del server) questa funzione restituisce “/home/user/var/www/wordpress/wp-content/plugins/wp-plugin-esempio“, puo’ essere usata per importare files quali CSS e Javascript
  • plugin_dir_url ( string $file ) simile alla precedente, ma restituisce l’URL delle cortelle del plugin.

Ecco come le funzioni precedenti possono essere usate per generare delle costanti da usare nel nostro plugin per renderlo piu’ standard:

Ora vediamo come usare le costanti appena create sopra:

Definire, usare e distruggere variabili.

Ora vediamo come creare delle variabili e usarle nel nostro plugin. In questo caso creare variabili e’ molto semplice grazie alla flessibilita’ di PHP che non necessita di nessuna dichiarazione di tipo. L’unica funzione WordPress da usare e’ update_option( string $option, mixed $value, string|bool $autoload = null ), vedi questa pagina della documentazione di WordPress per avere piu’ informazioni. Queste funzione viene comunemente usata per creare e assegnare valori alle variabili del vostro plugin e le variabili verranno automaticamente salvate nel database senza bisogno di query il database.

E’ bene tenere a mente che ogni variabile di ogni plugin dovrebbe avere un nome unico in modo da evitare di chiamare variabili di plugin diversi con lo stesso nome, quindi non usate nomi troppo comuni o banali come A, B, C o indice o numero, o nomi simili, usate sempre il nome del votro plugin come inizio della variabile, ecco qualche esempio:

Nell’esempio sopra vengono create ed eventualmente inizializzate le variabili del plugin.

Per usare e visualizzare le variabili create usiamo la funzione get_option( string $option, mixed $default = false ), ecco il link alla documentazione di questa funzione nel sito di WordPress. Ecco alcuni esempi:

E’ buona pratica di ogni programmatore pulire la memoria e distruggere tutte le variabili utilizzate quando il plugin viene cancellato o disattivato. Per fare questo dobbiamo semplicemente creare un file chiamato uninstall.php nella directory del plugin /wp-plugin-esempio, WordPress carichera’ automaticamente il file uninstall.php quando il plugin viene disinstallato e cancellato dal server. In questo file distruggeremo le variabili che abbiamo creato in precedenza con la funzione delete_option( string $option ), ecco come:

La parte in cima al file sopra “defined(‘WP_UNINSTALL_PLUGIN’)” controlla se il file uninstall.php e’ eseguito da WordPress per evitare che il file sia chiamato da browser e accidentalmente distrugga le variabili del plugin.