Sviluppare web application con WordPress
Dopo averti presentato la mia guida su “Come creare la tua prima web application senza scrivere una sola riga di codice”, oggi ti spiegherò come sviluppare web application con WordPress.
WordPress è il CMS più famoso e utilizzato al mondo. Possiamo affermare che quasi il 40% dei siti web di tutto il mondo sono stati progettati grazie a WordPress. Questo fantastico strumento gratuito, ha molte caratteristiche che lo rendono estremamente versatile.
Ad esempio, grazie all’infinità di plugin gratuiti e disponibili all’interno della sua Dashboard, WordPress, dà la possibilità allo sviluppatore di estendere le funzionalità del CMS.
Ma WordPress va anche oltre la semplice gestione di un blog, infatti, grazie ad alcuni accorgimenti è possibile utilizzarlo anche per progettare applicazioni web, sfruttando tutto il motore di backend della piattaforma stessa.
Infatti, uno sviluppatore, installando WordPress, può avere immediatamente a disposizione tutta la gestione di amministrazione di WordPress integrata, subito, nella sua applicazione web.
Compresa, la gestione dei ruoli, degli utenti e dei privilegi, che, ogni utente possiede per gestire determinate funzionalità dell’applicazione web in costruzione. Oltre a tutto ciò, Sfruttando il backend di WordPress, avrai modo di utilizzare anche il motore di gestione dei temi e dei plugin per la tua web app.
Ma adesso vediamo nel dettaglio come creare la struttura della nostra applicazione web con WordPress.
Indice del Post...
1. Come installare WordPress
Come ho accennato precedentemente, WordPress è una piattaforma gratuita di gestione e creazione di blog e siti internet. Pertanto non hai bisogno di acquistare software aggiuntivi per creare la tua applicazione web. L’unica cosa necessaria è scaricare WordPress e installarlo localmente sul tuo computer.
Questa operazione, per quanto banale, puoi seguirla passo-passo guardando il seguente video tutorial.
2. Installa il plugin necessario per lo sviluppo
Di per se, WordPress, non permette all’utente generico di poter inserire ed eseguire codice PHP direttamente. Questo è il primo scoglio da superare per uno sviluppatore web. Ma come ho accennato poc’anzi, WordPress ha a disposizione una collezione infinita di plugin che ne estendono le funzionalità.
Ad ogni modo, esistono due sistemi, previsti in WordPress, per aggiungere ed eseguire codice PHP direttamente in fase di editing di un articolo. Il primo, utilizza un plugin, è questo è il sistema più semplice e probabilmente il più sicuro per farlo. Il secondo metodo, prevede la modifica diretta, di uno script di sistema di WordPress, più avanti nell’articolo vedremo quale.
Per il momento concentriamoci sul sistema più semplice di aggiunta di codice PHP all’interno di WordPress. Questo sistema prevede l’installazione di un plugin. Questo plugin funziona permettendoti di definire una porzione di codice PHP da eseguire, e inserirlo successivamente, tramite uno shortcode, nel tuo post attuale.
Considera che è necessario sempre creare un post vuoto, dove poter eventualmente inserire lo shortcode, ed eseguire codice PHP.
Per iniziare, installa il plugin “Insert PHP Code Snippet”, cercandolo dalla dashboard di WordPress alla voce “Aggiungi Nuovo Plugin”. Successivamente, clicca sul tasto Installa e poi attivalo.
Dopo l’attivazione del plugin, nel menù principale di WordPress, troverai una nuova voce. La voce aggiunta al menù è XYZ PHP Code. Quindi, clicca sulla voce di menù XYZ PHP Code e successivamente seleziona PHP Code Snippets.
Clicca su “Add New PHP Code Snippet“.
Adesso non devi fare altro che, dare un nome allo snippet, io ho dato il nome Test-snippet.
Aggiungi il codice in PHP, che desideri, nella casella di testo dedicata e più precisamente quella indicata dalla didascalia PHP Code, successivamente clicca su Crea.
Lo snippet, una volta creato è già attivo per impostazione predefinita, infatti, passando il mouse sull’icona verde raffigurante l’azione di pausa, potrai renderti conto dello stato corrente che ha assunto lo snippet dopo la sua creazione.
3. Aggiungi lo snippet PHP al post
Adesso crea un nuovo articolo, e se stai usando l’editor Gutenberg, noterai un nuovo pulsante raffigurante la dicitura PHP. Clicca su questo pulsante e seleziona lo snippet di codice che hai appena creato. In questo caso seleziona Test-Snippet.
L’azione si tradurrà in qualcosa del genere:
[xyz-ips snippet=”Test-Snippet”]
Quello che vedi è uno shortcode. Molti plugin di WordPress utilizzano questo sistema per richiamare azioni scritte in PHP ed associate a un codice racchiuso tra parentesi quadre. In qualunque punto dell’articolo ed ogni volta che viene incontrato uno ShortCode, il sistema lo tradurrà nel suo corrispondente snippet di codice associato. Nel nostro caso WordPress eseguirà il codice PHP associato allo snippet di nome Test-Snippet.
A questo punto salva l’articolo, apri l’anteprima dell’articolo stesso e, dovresti vedere il risultato dell’esecuzione del codice inserito nella casella di testo PHP Code in fase di creazione dello snippet Test-Snippet.
Logicamente, lo shortcode corrispondente allo snippet PHP, può essere incluso ovunque nell’articolo, e l’operazione può essere svolta anche manualmente. Cioè puoi digitarlo direttamente a mano nell’area di modifica dell’articolo stesso.
4. Come gestire utenti, ruoli e privilegi nella web application
Come ogni web application che si rispetti, è necessario inserire la gestione degli utenti, dei ruoli e dei privilegi. Cioè quello che un utente può fare. In WordPress fortunatamente è già prevista una gestione degli utenti e dei ruoli, ma, a noi serve personalizzare i ruoli, magari creandone di nuovi, e conferire privilegi adeguati al tipo di applicazione web che stiamo creando.
Come anticipato precedentemente, WordPress ha un plugin che fa proprio al caso nostro, a dimenticavo, anch’esso gratuito. Il plugin in questione è: “User Role Editor“.
Il plugin una volta installato e attivato, aggiunge la voce “User Role Editor” nel menù di gestione degli utenti in WordPress. Cliccando su questa voce si attiva la gestione personalizzata dei ruoli e dei privilegi per ogni utente registrato in WordPress. Di conseguenza la nostra web application ha già una gestione degli account e delle capacità che ogni account ha all’interno della web application. Tutto questo è personalizzabile scegliendo il Ruolo, desiderato, e modificando opportunamente le voci previste per ogni ruolo presente.
Come ho detto prima, è possibile comunque aggiungere altri ruoli e privilegi. Pertanto alla tua web application, adesso, non manca proprio nulla.
Una volta creati i ruoli per i tuoi ipotetici utenti, non ti resta che creare uno snippet PHP, con il nostro fantastico plugin, e gestirli, magari facendo riferimento alle funzioni specificate nella WordPress Function Reference. Cioè WordPress per funzionare accede ad una raccolta di funzioni, che gli sviluppatori del CMS aggiornano, e sono raggruppate per categoria. Giusto per curiosità puoi cliccare su questo link, e renderti conto, cliccando su ogni function, il codice che esegue e la funzione che ognuna svolge.
Ad ogni modo, una volta creato lo snippet, puoi gestire e accedere ai ruoli e ai loro privilegi per consentire o meno l’accesso ad una risorsa della tua web application, con un codice simile a questo:
// Questa riga di codice è da includere solo se lo script
// viene eseguito esternamente a wordpress. In questo caso, visto
// che il resto del codice presente nello script è eseguito da un plugin, potrebbe
// anche essere omessa.
require_once('../../../wp-load.php');
// Qui verifichiamo se l'utente è loggato
if (!is_user_logged_in()) {
// Se l'utente loggato non ha il privilegio edit_file, personalizzabile tramite
// User Role Editor, non accede alla risorsa.
if(!current_user_can('edit_files')) {
echo 'Mi dispiace ma non possiedi il privilegio per accedere a questa risorsa.<br>';
}
} else {
echo 'Ti devi loggare per accedere a questa risorsa<br>';
}
// In $admin_role_set trovi tutte i privilegi per il ruolo administrator
$admin_role_set = get_role( 'administrator' )->capabilities;
echo '<pre>' . print_r( $admin_role_set, true ) . '</pre>';
Tutte le funzioni richiamate nello snippet precedente, sono presenti nella WordPress Function Reference. Potresti creare altri snippet, o modificare questo, per provare e prendere confidenza con tutte le altre funzioni previste in WordPress, per capire le straordinarie funzionalità che puoi aggiungere alla tua web application, per renderla sicura e professionale.
5. Come eseguire codice PHP senza un plugin
Come ti ho anticipato, ci sono due modi per eseguire codice PHP in WordPress. Il primo lo abbiamo appena visto e, riguarda l’installazione di un plugin, studiato appositamente per questo scopo. Il secondo metodo, anche se meno consigliato, consiste nella modifica dello script function.php.
Questo script è presente nella directory del tema attivo di WordPress. Una volta individuato aggiungi in coda al file, queste semplici righe di codice:
function test_func( $atts ){
return 'This is PHP' ;
}
add_shortcode( 'Test-Snippet', 'test_func' );
Salva il file function.php, richiama il post in modifica e inserisci questo shortcode:
[Test-Snippet]
Salva l’articolo, visualizzalo in anteprima e dovresti vedere la stessa schermata riprodotta dal plugin Insert PHP Code Snippet.
Se vuoi migliorare la tua conoscenza in questo ambito, magari studiando un plugin alternativo a quello che hai visto in questa guida, puoi seguire questo video tutorial, molto interessante, che ti guiderà passo-passo all’uso del plugin Code Snippets.