WP-CLI è una fantastica interfaccia a riga di comando utile nella gestione di un’installazione di WordPress. Nonostante personalmente non ne faccia un uso intensivo, è uno strumento con un enorme potenziale che torna sempre utile.
Va’ da se che, per poter utilizzare la CLI di WordPress, la familiarità con l’uso del terminale è d’obbligo, ma sono certo che anche chi è più a digiuno non farà fatica a capirne il funzionamento.
Dunque, ecco una breve guida per iniziare per iniziare ad usare WP-CLI partendo da zero!
Indice
Installare WP-CLI
Esistono dei prerequisiti per l’installazione della Cli di WordPress. In particolare é richiesto un ambiente UNIX-Like, PHP 5.3.29 o superiore e WordPress 3.7 o superiore. Per quanto riguarda Windows, il supporto esiste ma è limitato.
Verificata la compatibilità con il proprio ambiente, eccoti i passaggi da copiare e incollare per poter procedere oltre!
Come prima cosa apriamo il terminale. Successivamente scarichiamo WP-CLI e verifichiamo il pacchetto con questi comandi:
// Scarichiamo WPCli curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar // Verifichiamo il pacchetto php wp-cli.phar --info
Il prossimo passo è rendere il file wp-cli.phar eseguibile, spostandolo nella PATH. Ecco i comandi:
chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp
Verifichiamo che tutto funzioni digitando il comando wp-info
e se tutto è andato bene riceveremo questa risposta:
OS: Linux 4.10.0-42-generic Shell: /usr/bin/zsh PHP binary: /usr/bin/php PHP version: 7.1.12-1+ubuntu16.04.1+deb.sury.org+1 php.ini used: /etc/php/7.1/cli/php.ini WP-CLI root dir: /home/wp-cli/.wp-cli WP-CLI packages dir: /home/wp-cli/.wp-cli/packages/ WP-CLI global config: /home/wp-cli/.wp-cli/config.yml WP-CLI project config: WP-CLI version: 1.5.0
Concluse le formalità andiamo al passo successivo.
Installare e configurare WordPress
La prima cosa che possiamo imparare a fare da riga di comando è scaricare e installare WordPress. La riga di comando ci giunge in soccorso con dei semplici comandi che permettono di essere operativi in pochissimo, senza dover perdere tempo a scaricare, importare e installare un pacchetto di WordPress manualmente.
Step 0 – Scarichiamo WordPress
Rechiamoci nella cartella dove vogliamo installare WP e digitiamo wp core download
. Cosa fa questo comando? Analizziamo insieme la struttura: di base wp
richiama la CLI, mentre core
è un comando che identifica una operazione da eseguire sull’installazione di WordPress. Quello che segue – download
in questo caso – è il sottocomando che chiede di scaricare l’ultima versione.
Se fino ad ora abbiamo visto solo comandi, l’aiuto principale deriva dalle opzioni. Potremmo aver bisogno, ad esempio, di voler installare una versione di WordPress tradotta in un’altra lingua o di voler scaricare una precisa versione di WordPress. Ecco allora quali opzioni possono tornarci utili:
--locale=it_IT | Scarica la versione localizzata in Italiano. Utilizzando |
--version=latest | Scarica l’ultima versione di WP. È possibile utilizzare nightly per ricevere l’ultima versione beta oppure inserire il numero della versione che si vuole installare. |
--skip-content | Installa WordPress senza nessun tema o plugin di default |
--path=<percorso> | Al posto di <percorso> puoi inserire il percorso della directory dove installare WP. |
Step 1 – Configuriamo il database
Dopo aver scaricato WordPress passiamo alla configurazione del file wp-config.php. Questo passaggio precede l’installazione vera e propria; è infatti necessario per configurare gli accessi, e altre impostazioni globali, del database.
Inseriamo quindi il comando wp config create
seguito dalle seguenti opzioni obbligatorie:
--dbname=nome_db | fornisce il nome del database |
--dbuser=username_db | fornisce l’username del database |
--dbpass=password_db | fornisce la password del database |
--dbhost=host_db | fornisce l’host del database (default: localhost) |
Se ti stai chiedendo “esistono altre opzioni?” la risposta è: sì! Possiamo infatti definire meglio il collegamento e la struttura del database tramite queste opzioni secondarie:
--dbprefix | Imposta un prefisso personalizzato alle tabelle del database (default: wp_) |
--dbcharset | Imposta il set di caratteri, o charset, del database (default: utf8) |
--dbcollate | Imposta la collation del charset – es. utf8_general_ci (default: no) |
Esistono anche altre opzioni per forzare o saltare alcuni step di configurazione (sconsigliato a meno di particolari casi) e per la definizione della costante WPLANG, deprecata a partire dalla versione 4 di WordPress (clicca qui per leggere l’articolo originale su Trac).
Vediamo quindi come appare un classico comando wp config create
al complet inserito nel terminale:
// Configuriamo il database wp config create --dbname=nome_db --dbuser=user_db --dbpass=password_db --dbhost=localhost
Step 2 – Installiamo WordPress
Eccoci alla parte finale per completare l’installazione con la CLI di WordPress. Come per il download, utilizzeremo la combinazione wp core
con l’aggiunta di install
. Anche in questo caso, ci sono delle opzioni, obbligatorie, che permettono di definire il nome del titolo e le credenziali dell’amministratore. Vediamole nella seguente tabella:
--url=sito-esempio.local | Imposta l’URL del nuovo sito |
--title="Sito di esempio" | Imposta il titolo del nuovo sito |
--admin_user=admin_esempio | Imposta il nome dell’amministratore |
--admin_password=pass | Imposta la password dell’amministratore |
--admin_email=admin@email.esempio | Imposta l’email dell’amministratore |
Generalmente WordPress manda una email di notifica all’amministratore non appena il processo di installazione è concluso. Per disattivare l’inoltro di email basta aggiungere --skip-email
.
Nel terminale il comando completo di opzioni appare così:
// Installiamo WordPress wp core install --url=esempio.local --title="Sito di esempio" --admin_user=admin --admin_password=cambiami --admin_email=admin@email.esempio
Eseguito il comando avremo il nostro sito WordPress pronto all’uso!
Ricapitoliamo quanto visto fino ad ora e mettiamo insieme in un unico esempio pratico:
// Scarichiamo WP nella directory attuale wp core download // Configuriamo il database wp config create --dbname=nome_db --dbuser=user_db --dbpass=password_db --dbhost=localhost // Installiamo WordPress wp core install --url=esempio.local --title="Sito di esempio" --admin_user=admin --admin_password=cambiami --admin_email=admin@email.esempio
Importare ed esportare contenuti
Tra le tante cose che ci permette di fare WP-CLI, una delle più utili è l’importazione e l’esportazione di contenuti da un sito all’altro.
Hai appena visto come installare WordPress da CLI, e giustamente ti potresti chiederti se è possibile sfruttarla per altri task più complessi e impegnativi, come l’import ed export dei contenuti. Ed è infatti possibile, Tramite due comandi molto semplici e potenti al contempo: wp export
e wp import
.
Questi sfruttano i file in formato WXR (WordPress Extended RSS), che potresti aver avuto modo di conoscerlo se hai mai usato la funzionalità Esporta di WordPress, disponibile dalla Dashboard nel menu Strumenti » Esporta.
Per esportare i contenuti di WordPress da CLI, rechiamoci nella directory principale dell’installazione di WP. Ora lanciamo il comando:
wp export
Come risultato otterremo:
Starting export process... Writing to file Sites/example/wordpress/example.wordpress.2021-09-15.000.xml Success: All done with export.
WP-CLI ci informerà che è stato esportato con successo il file .xml, in formato WXR.
Per importare invece basterà usare wp import
assieme all’opzione richiesta per gli autori --authors
. Quest’ultima accetta 3 tipi di valori:
create | Crea un nuovo utente |
mapping.csv | Mappa gli utenti attuali con quelli esisteti in base ad un csv fornito |
skip | Salta la creazione / associazione degli autori |
Gestione del database
Oltre alla gestione dei contenuti con import
e export
, una delle funzionalità più importanti è la gestione del database. Come puoi immagine questa parte è molto articolata. Si passa dall’import ed export delle tablelle del database all’esecuzione di vere e proprie query.
Vediamo brevemente tre dei comandi che ci possono tornare più utili e che useremo con maggiore frequenza in contesti di gestione ordinaria di un database WordPRess.
I primi due sono proprio i comandi wp db export
e wp db import
, che ti permettono rispettivamente di generare un dump del db e salvarlo su un file .sql e di importarlo.
Come abbiamo visto fino ad ora, ci sono sempre opzioni utili a portata di mano! Eccone alcune per wp db export
:
--path=<path> | Definisci il percorso dove salvare il dump |
--ssh=[<scheme>:][<user>@] <host\|container> [:<port>][<path>] | Questa opzione permette di eseguire l’operazione attraverso SSH. <scheme> viene fornito nel caso sia verso un container con schema “docker”, “docker-compose” o “vagrant” |
--http=<http> | Questa opzione permette invece di eseguire l’operazione attraverso collegamento HTTP |
Per quanto riguarda wp db import
abbiamo delle opzioni obbligatorie e non, riportate di seguito:
<file> | Permette di definire il nome del file .sql da importare |
--dbuser=<value> | Username per mysql |
--dbpass=<value> | Password per mysql |
--<field>=<value> | Argomenti extra da passare a mysql |
--skip-optimization | Salta il processo di ottimizzazione del database |
Anche per l’import possono essere utilizzate le opzioni --ssh
e --http
per eseguire operazioni attraveso i due protocolli.
Il terzo comando che vorrei mostrarti è wp db optimize
. Questo non fa altro che eseguire l’utility mysqlcheck
con il flag --optimize=true
attivo. A sua volta, mysqlcheck ottimizzerà il peso del database riorganizzando lo spazio fisico occupato dalle tabelle per migliorare l’efficienza nell’ accesso ai dati.
Se ti è mai capitato di lavorare con installazioni preesistenti e con un gran quantitativo di dati non ottimizzati, noterai subito la differenza!
Conclusioni
In questo breve articolo ho cercato di raggruppare le informazioni principali per utilizzare la CLI di WordPress, con lo scopo di mostrare come e in che modo può tornarci utile. Tuttavia, WP-CLI è un tool utilizzato non solo da umani. Ad esempio, Molti software sfruttano la CLI di WordPress per permettere di gestire l’installazione da un’interfaccia grafica in modo più rapido e intuitivo.
Uno di questi tool, che utilizzo anch’io, è Local (link al sito https://localwp.com). Se ti interessa saperne di più, puoi leggere il mio articolo: Local WP, come sviluppare serenamente WordPress in locale – (link all’articolo).
Local WP, come sviluppare serenamente WordPress in locale
Local WP è certamente uno dei tool più comodi per avviare, in tempi record e da zero, installazioni di WordPress in locale.
Se invece vuoi sapere di più sulla Cli di WordPress, e magari avere altre guide specifiche, sarò lieto di ricevere il tuo feedback, come sempre, tramite commenti o email!
Lascia un commento