In questo articolo daremo una definizione quanto più chiara possibile di cosa sia un plugin di WordPress. Si tratta di una precisazione importante per poter affrontare in modo completo il tema generale dei plugin per il noto Blog engine/CMS Open Source.
Cosa sono i Plugin WordPress
Un Plugin di WordPress è un componente che viene aggiunto a WordPress per modificarne o estenderne le funzionalità.
Un plugin viene spesso chiamato modulo in altre applicazioni simili, ma la definizione rimane nello specifico la medesima. Lo scopo di un plugin è infatti quello di permettere agli utilizzatori di eseguire delle operazioni in modo diverso rispetto a quello previsto da WordPress o di aggiungere nuove operazioni a quelle predefinite.
Un esempio del primo tipo di plugin è quello che aggiunge dei ruoli utente a WordPress oltre a quelli tradizionali, in tal caso viene quindi migliorata una funzionalità già disponibile. Nello stesso modo un plugin che gestisce gli slideshow appartiene al secondo tipo, poiché per il momento WordPress non consente nativamente tale operazione, viene quindi integrata una nuova funzionalità.
Attivare e disattivare un plugin
I plugin vengono attivati o disattivati nella sezione amministrativa di WordPress. Quando un plugin viene attivato, WordPress include tutto il suo codice nel suo intero flusso di esecuzione consentendo al plugin di operare sia nel frontend che nel backend del sito (a meno che l’autore del plugin non opti per operare solo in uno di questi due contesti).
Al contrario, quando un plugin viene disattivato, WordPress lo rimuove dal suo flusso di esecuzione e si comporta come se il plugin non esistesse, ossia il codice del plugin non viene più eseguito.
WordPress non assegna privilegi di esecuzione inferiori ai plugin: ciò significa che un plugin può di fatto apportare qualsiasi tipo di modifica a WordPress. Da qui sorge il problema dei bug e delle vulnerabilità nei plugin: se un plugin ha un problema, anche WordPress ha lo stesso problema e non di rado quest'ultimo riguarda la sicurezza.
Per questo motivo una delle procedure di risoluzione dei problemi in WordPress prevede appunto la disabilitazione dei plugin al fine di individuare quello che è all’origine del problema (una falla, un malfunzionamento, un calo di prestazioni..).
Plugin WP gratuiti e a pagamento
Nonostante i plugin, secondo le intenzioni della community di WordPress, debbano essere rilasciati in modo libero e aperto (seguendo i termini contenuti nella licenza GPL per le applicazioni Open Source), una cospicua fetta dei plugin presenti sul mercato sono disponibili a pagamento.
Esiste una differenza di fondo tra i plugin a pagamento e quelli liberi e gratuiti presenti nella repository ufficiale di WordPress, esso risiede sostanzialmente nel modo in cui i plugin vengono aggiornati.
Mentre i plugin della repository ufficiale di WordPress sono tutti aggiornabili in automatico (ovviamente se l’autore rilascia con regolarità gli aggiornamenti), quelli a pagamento non sempre lo sono e quindi spesso si è costretti ad installare la nuova versione manualmente.
Aggiornamenti e vulnerabilità
Installare un plugin manualmente è un’operazione molto semplice: è sufficiente uploadare la catella del plugin con i suoi file (dopo averli decompressi) nella directory /wp-content/plugins
e quindi attivarlo nel backend di WordPress.
Come abbiamo appena sottolineato, l’aggiornamento di un plugin è un requisito essenziale per gestire al meglio WordPress. Un plugin che non viene mai aggiornato non solo può causare problemi con gli aggiornamenti delle versioni di WordPress, ma rappresentare esso stesso un potenziale problema di sicurezza.
Se infatti un plugin viene disattivato ma i suoi file non vengono cancellati, questi possono essere usati per attacchi remoti se sono vulnerabili. Il problema della sicurezza, insieme a quello dell’usabilità, è una questione di primaria importanza per i plugin di WordPress. Questi aspetti non vanno mai trascurati sia che si voglia scegliere un plugin e sia che si desideri svilupparlo in modo autonomo.
Nella prossima lezione esamineremo la struttura del codice di un plugin di WordPress.