In questo articolo vedremo come creare un plugin per WordPress.
La grande diffusione di WordPress è dovuta principalmente alla sua capacità di espansione delle funzionalità tramite l’installazione di plugin.
Affinché gli sviluppatori rendano disponibili dei plugin, lo sviluppo degli stessi deve essere un processo agevolato.
Indice
Creare plugin WordPress: le basi
Come è noto, WordPress è un CMS costruito con PHP, di conseguenza utilizzeremo questo linguaggio per costruire la logica server-side del plugin di esempio che svilupperemo nel corso dell’articolo.
Creare la cartella per il plugin
Il primo step per creare un plugin di WordPress è creare la cartella che conterrà i files necessari al funzionamento dello stesso.
Tale cartella dovrà essere collocata nel seguente percorso:
/wp-content/plugins/il-mio-plugin/
La cartella wp-content è collocata nella “root” dello spazio web.
E’ fondamentale che il nome della cartella del plugin (nell’esempio è il-mio-plugin) sia originale, per evitare sovrapposizioni con plugin installabili dal repository dei WordPress plugins.
Creare il file PHP principale per il plugin
Il plugin deve avere almeno un file PHP, che deve contenere un header.
L’header è un commento PHP formattato in modo tale da fornire a WordPress informazioni riguardo al plugin, come il nome del plugin, la sua descrizione ed il nome dello sviluppatore.
Supponiamo ora di creare il file il-mio-plugin.php, all’interno del path specificato nella sezione precedente.
Un esempio di header di un plugin può essere
<?php /* Plugin Name: Il Mio Plugin Plugin URI: https://www.ilsitodelmioplugin.it Description: Aggiunge le funzionalità XYZ al sito Author: Dario Capozzi Author URI: https://www.ilsitodellautoredelplugin.it Version: 1.0.0 */
Queste informazioni saranno utilizzate da WordPress per identificare il plugin nella lista dei plugin attivi.
Implementare funzionalità nel plugin
Sotto l’header potrai inserire il codice necessario ad implementare le funzionalità desiderate.
Ad esempio, utilizzando il seguente codice
<?php /* Plugin Name: Il Mio Plugin Plugin URI: https://www.ilsitodelmioplugin.it Description: Aggiunge le funzionalità XYZ al sito Author: Dario Capozzi Author URI: https://www.ilsitodellautoredelplugin.it Version: 1.0.0 */ // se questo file non è eseguito nel contesto di WordPress, usciamo if ( ! defined( ‘ABSPATH’ ) ) { die(); } function semplice_func( $atts ){ return "ecco uno shortcode semplice"; } add_shortcode( 'semplice', 'semplice_func' );
il plugin renderà disponibile lo shortcode [semplice], che quando utilizzato inserirà nella pagina la stringa “ecco uno shortcode semplice”.
Se volessi approfondire l’argomento relativo agli shortcode di WordPress, ti invito a leggere l’articolo dedicato agli shortcode di WordPress.
Note sulla sicurezza di WordPress
E’ importante sapere che la sicurezza di un sito costruito con WordPress dipende dalla sicurezza di ciascun componente aggiuntivo installato, sia esso un tema od un plugin.
Occorre quindi che le funzionalità che implementerai siano rese disponibili da codice scritto in maniera oculata.
A questo proposito, puoi far riferimento alla sezione dedicata alla sicurezza sul sito degli sviluppatori di WordPress.
Risoluzione problemi
Durante lo sviluppo di un plugin, è possibile incorrere in vari errori applicativi.
Questi errori rischiano di compromettere, totalmente o in parte, le funzionalità del sito.
Per poter fronteggiare e risolvere questi problemi, puoi consultare l’articolo dedicato all’errore 500 in WordPress.
Approfondimenti WordPress
In questo blog è presente una sezione dedicata a WordPress.
Ecco alcuni articoli che potrebbero interessarti:
- Effettuare logging WordPress in files separati
- htaccess WordPress: come modificarlo e ripristinarlo
- Creare child theme WordPress
- Selettori CSS WordPress: come utilizzarli
- Cosa sono i dati strutturati SEO
- Yoast SEO WordPress: escludere post types dalla sitemap
- WordPress feeds: scopri quelli disponibili nativamente
Conclusioni
In questo articolo abbiamo visto come creare un semplice plugin di WordPress.
A prescindere dalla complessità delle funzionalità che si vogliono implementare, gli steps da seguire sono analoghi.