Indice
Come inserire codice PHP su WordPress
Il PHP è un linguaggio di scripting lato server nato verso la metà degli anni Novanta del Novecento. Nonostante l’età, è ancora molto usato per la realizzazione di siti web dinamici e costituisce la struttura portante di WordPress. Inoltre, gli utenti che utilizzano questo CMS possono ricorrere agli snippet di codice PHP per apportare interessanti personalizzazioni ai propri siti web e adattare ogni elemento a esigenze e obiettivi specifici, senza dover installare ogni volta nuovi plugin.
Inserire questi piccoli frammenti di codice in WordPress non è complicato. Si tratta di un’operazione che può essere effettuata, senza troppe difficoltà, anche dai neofiti. Ciononostante, affinché tutto funzioni correttamente, è necessario sapere come e dove mettere le mani.
Di seguito verranno mostrati tutti i passaggi da seguire per inserire gli snippet di codice PHP in WordPress in modo corretto.
Codice PHP personalizzato in WordPress: cosa sapere prima di cominciare
Il PHP è un codice molto potente e, se non gestito nel modo corretto, può fare seri danni. Proprio per questo motivo, WordPress ne impedisce l’aggiunta diretta all’interno di pagine e articoli. Laddove tale limite non fosse previsto, sarebbe sufficiente un inserimento errato per provocare errori fatali, aprire falle nella sicurezza, causare conflitti con i plugin installati o il tema in uso.
Questo naturalmente non significa che non si possano inserire snippet PHP in WordPress – in caso contrario, questa guida non avrebbe motivo di esistere -, ma semplicemente che, in primo luogo, è necessario procedere sempre con cautela. In particolare, è utile:
- prestare attenzione alla sintassi
- evitare di apportare modifiche ai file del core di WordPress, a meno che non si sa degli esperti e non si sappia davvero che cosa si sta facendo
- usare solo frammenti di codice PHP presi da siti affidabili o forniti da professionisti di fiducia
- fare un backup del sito prima di apportare qualsiasi tipo di modifica
- lavorare, se possibile, in un ambiente di staging o in locale prima di portare le modifiche live.
In secondo luogo, bisogna individuare il metodo migliore per inserire i codici in tutta sicurezza e in modo corretto. A seconda delle proprie capacità e competenze, si potrà:
- intervenire manualmente nel file functions.php del tema child oppure
- utilizzare un plugin affidabile come Code Snippets o WPCode.
Inserire codice PHP manualmente: il file functions.php
Il file function.php è presente in ogni tema WordPress e riveste un ruolo fondamentale per la personalizzazione del sito. Al suo interno vengono inserite funzioni in grado di modificare il comportamento, l’aspetto, il funzionamento di qualsiasi parte del sito, comprese quelle non direttamente legate al tema. È qui che anche l’utente meno esperto può, con le dovute attenzioni, provare ad aggiungere gli snippet di codice PHP di cui ritiene di avere bisogno.
Per procedere è necessario, innanzitutto, creare un tema child, ossia un tema che erediti tutte le caratteristiche del tema in uso, definito “parent theme” o tema genitore, e che permetta di apportare modifiche in tutta tranquillità, eliminando il rischio di perderle quando il tema principale viene aggiornato. I passi da compiere sono davvero pochi:
- accedere alle cartelle del sito tramite FTP o “Gestione file” del Pannello di Controllo
posizionarsi nella cartella “theme”, posta a sua volta in “wp-content”
- creare una nuova cartella e assegnarle un nome univoco. Per comodità, le si può assegnare il nome del tema genitore seguito da “child”
- posizionarsi all’interno di questa cartella e creare due nuovi file, “style.css” e functions.php
- aprire il file css e inserirvi quanto segue, modificando le informazioni in base al tema in uso e ai propri dati:
/* Theme Name: nome univoco da assegnare al tema child Theme URI: l’indirizzo al quale è possibile consultare la documentazione del tema Description: descrizione del tema child Author: nome dell’autore del tema child Author URI: URI dell’autore Template: il nome della cartella in cui è posizionato il parent theme. Senza questa informazione, il tema child non funziona Version: 1.0 License: GNU General Public License v2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Textdomain: il textdomain del tema child */
Ecco un esempio di personalizzazione delle informazioni:
- salvare il file css e aprire function.php
- digitare quanto segue per collegare il tema child al foglio stile del tema genitore:
<?php function temachild_parent_styles() { wp_enqueue_style( 'parent', get_template_directory_uri().'/style.css' ); } add_action( 'wp_enqueue_scripts', temachild_parent_styles'); ?>
- salvare e accedere alla dashboard di WordPress
- andare su “Aspetto / Temi”. Se tutto è andato per il verso giusto, nella schermata dei temi dovrebbe ora comparire il tema child appena creato
- passarvi sopra con il cursore e fare click su “Attiva”.
A questo punto, il tema child è stato creato e attivato, ed è possibile iniziare a popolare il file function.php con gli snippet di codice desiderati.
Aggiungere i frammenti di codice php a functions.php
L’aggiunta di codice personalizzato al file functions.php può essere effettuata sia in modo diretto, raggiungendo sul file attraverso il gestore file del pannello di controllo o via FTP, modificandolo e salvandolo, sia dalla dashboard di WordPress. Questa seconda soluzione è la migliore per chi è alle prime armi in quanto, prima di salvare le modifiche all’interno del file, effettua un controllo del codice e, in caso di errore, interrompe il salvataggio e segnala il problema.
Ecco come procedere:
- andare su “Strumenti / Editor del tema”
- assicurarsi che sia selezionato il tema child che si desidera modificare
- selezionare “functions.php”.
Il codice dovrà essere inserito dopo la funzione precedentemente creata.
L’immagine seguente mostra l’aggiunta dello snippet di codice php finalizzato a impedire l’accesso alla dashboard di WordPress a tutti gli utenti, eccettuati gli amministratori.
Terminate le modifiche, premere il pulsante “Aggiorna file”.
Laddove il codice presentasse degli errori, il salvataggio non andrebbe a buon fine e nella parte inferiore della schermata comparirebbe un avviso simile a quello mostrato nell’immagine seguente, il quale riporta l’indicazione della riga di codice in cui si è verificato il problema e del problema rilevato:
Questo controllo automatico del codice impedisce che si verifichino errori fatali e riduce notevolmente i problemi.
Corretto l’errore, si può procedere nuovamente al salvataggio. Se tutto va per il verso giusto, compare la scritta “File modificato con successo”.
Inserire codice PHP personalizzato tramite plugin
I plugin per l’inserimento di codice PHP personalizzato in WordPress rendono l’operazione ancora più semplice, immediata e sicura. Questo, naturalmente, a patto di sceglierne uno affidabile e performante, compatibile con la versione WordPress in uso e aggiornato con regolarità.
Tra i più popolari rientrano WPCode – 2 milioni di installazioni attive – e Code Snippet – un milione di installazioni attive. Entrambi compatibili con le versioni più recenti di WordPress (ad oggi, il primo è testato fino alla versione 6.8.1, mentre il secondo è fermo alla versione 6.7.2), possono essere installati e utilizzati gratuitamente, ma dispongono anche di versioni Premium che includono utili funzioni aggiuntive.
L’installazione può essere effettuata direttamente dalla dashboard di WordPress, andando su “Plugin / Aggiungi Plugin”, inserendo il nome di quello scelto nella casella di ricerca e, dopo averlo individuato, premendo “Installa” e poi “Attiva”.
WPCode
WPCode è un plugin dall’interfaccia pulita che consente di inserire in qualsiasi parte del sito – compresi header e footer – non solo frammenti di codice PHP personalizzato, ma anche HTML, JS e CSS. Tra le sue caratteristiche più interessanti rientrano la possibilità di creare regole di logica condizionale e di generare shortcode, con o senza attribuiti. Molto utile la presenza della validazione intelligente, la quale impedisce il salvataggio di snippet contenenti errori ed evita che il sito si rompa.
Dato che il codice non viene aggiunto direttamente nei file del tema, l’utente, oltre a non corre il rischio di perdere le modifiche durante gli aggiornamenti o quando passa da un tema a un altro, non deve nemmeno preoccuparsi di creare un tema child. Per questo, terminata l’installazione, può andare subito su “Code Snippets / Add Snippet” e procedere con l’inserimento del primo codice.
La nuova schermata
mette a disposizione un’ampia libreria di frammenti di codice precompilati e pronti all’uso. Tra i tanti rientrano, a titolo d’esempio, quelli che permettono di disabilitare l’editor Gutenberg, i commenti, le emoji, rimuovere il numero della versione di WordPress in uso, caricare file SVG. Per utilizzarli è necessario premere il pulsante “Connect to library”
e compilare il form presente nella finestra pop up per creare un account WPCode gratuito.
Laddove lo si avesse già, premere “Alredy have an account? Login” e procedere con il login.
Premere quindi “Connect to WordPress”
e attendere che l’operazione venga portata a termine.
Nel caso in cui si volessero utilizzare snippet di codice php già in proprio possesso, non sarebbe necessario effettuare la connessione con la libreria di codici WPCode, ma sarebbe sufficiente:
- passare il puntatore su “Add Your Custom Code (New Snippet)” e premere “Add Custom Snippet”
- selezionare “PHP Snippet”
- Nella nuova schermata
assegnare un nome identificativo allo snippet (“Add title for snippet”), quindi incollare o digitare il codice nell’area di testo “Code Preview”.
- Scorrere la schermata verso il basso per visualizzare la sezione “Insertion”
e scegliere il metodo di inserimento (“Insert Method”). In particolare:
- lasciare selezionato “Auto Insert” per eseguire il codice in tutto il sito web, in una delle posizioni disponibili, quindi visualizzare queste ultime cliccando su “Location” e selezionare quella di proprio interesse. Sono disponibili sia posizioni globali (scheda “Global”) come “Run Everywhere”, “Admin only”, “Frontend only” sia posizioni specifiche all’interno delle pagine (“Page-specific”). Le posizioni presenti nella scheda “e-commerce” sono disponibili unicamente per gli utenti pro.
- selezionare “Shortcode” per creare un shortcode da inserire manualmente in singole pagine e articoli. Compariranno nuove opzioni:
Il campo “Shortcode”, destinato a ospitare il breve codice che dovrà essere inserito nelle pagine e negli articoli in cui si desidera venga eseguito lo snippet PHP, viene popolato automaticamente dopo il salvataggio, mentre “Shotcode Attribute” può essere utilizzato per aggiungere degli attributi. Gli utenti pro possono inoltre personalizzare lo shortcode (“Custom Shortcode”).
- Scendendo ancora nella schermata, si potrà decidere se attivare lo snippet di codice PHP per tutti i device, solo su desktop o solo su dispositivi mobili
e si potranno inserire regole di logica condizionale intelligente. Per procedere, attivare l’interruttore “Enable logic”, scegliere “Show” – se lo snippet dovrà essere incluso solo nelle situazioni e nei contesti indicati dalla regola – o “Hide” – nel caso contrario -, fare click sul pulsante “Add new group” e impostare la regola. Se ad esempio si desidera che lo snippet di codice venga attivato solo per gli utenti loggati, selezionare “Show”, “Logged-in”, “is”, “True”.
Il pulsante “And” permette di aggiungere una seconda regola che dovrà essere rispettata insieme alla prima, mentre con “Add new group” si potrà aggiungere una regola alternativa alla prima.
- Terminata la personalizzazione dello snippet di codice, premere l’interruttore “Inactive” posto in alto a destra e portarlo su “Active”
quindi fare click su “Save Snippet”.
Se l’operazione è andata a buon fine, comparirà la scritta “Snippet creare & Saved”; inoltre, se si è scelto di collegare lo snippet a uno shortcode, scrollando la schermata fino alla sezione “Insertion” si potrà immediatamente copiare il codice generato.
Per modificare, cancellare, duplicare, disattivare gli snippet di codice creati, premere “Code Snippets” nella barra laterale sinistra.
Code Snippets
Semplice, immediato e funzionale, Code Snippets permette di aggiungere ai siti WordPress codice PHP, HTML e, nella versione a pagamento, CSS e JS, in pochissimi passaggi.
Anche in questo caso, per procedere con l’inserimento di uno snippet di codice PHP personalizzato, non è necessario creare un tema child, ma si può iniziare immediatamente. Ecco i pochi, semplici passaggi da seguire:
- andare su “Snippets / Add New”
- Nella nuova schermata
assegnare un nome allo snippet, quindi assicurarsi di essere posizionati nella scheda “Functions PHP”
e digitare o incollare il codice nell’apposito spazio.
- Scegliere dove eseguire il codice, selezionando una delle quattro opzioni disponibili (“Run snippet everywhere”, “Only run in administration area”, “Only run on site front-end”, “Only run once”) e assegnare una priorità (se non si sa di cosa si tratta, lasciare quella impostata di default, impostata su 10)
- per finire, dopo aver inserito una descrizione dello snippet e avergli assegnato dei tag (operazioni non obbligatorie), premere il pulsante “Save Changes and Activate” – posto nella parte inferiore della schermata, dopo la sezione “Tag” – per salvare e attivare immediatamente lo snippet.
Se l’operazione è andata a buon fine, comparirà la scritta “Snippet saved and activated”.
Per modificare, duplicare, eliminare, esportare, attivare o disattivare gli snippet creati, andare su “Snippets / All Snippets”