Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Cos’è WP-CLI?

wp-cli

wp-cli è lo strumento ideale per sviluppatori e gestori di siti web

WP-CLI è un’interfaccia a riga di comando sviluppata per WordPress. Pensato per gli sviluppatori come strumento per la gestione di siti WP direttamente dal prompt dei comandi, senza l’uso del browser e quindi il bisogno di fare il login su WordPress. WP-CLI non è solo un’alternativa al pannello admin tradizionale. Questo tool consente di eseguire task più complesse non presenti nell’interfaccia WordPress, come le operazioni cumulative e la cancellazione dei dati transient (i record temporanei del database). WP-CLI rende accessibili anche altre azioni che solitamente richiederebbero l’installazione di uno o più plugin. Attraverso questo strumento è possibile interagire direttamente anche con più siti web allo stesso tempo e aggiungere o rimuovere utenti, categorie, post e commenti. Si possono inserire velocemente dati di prova e resettare le password. Un’altra funzionalità molto comoda è la possibilità di sostituire tutti i link interni per adattarli al cambiamento strutturale delle URL. Prima dell’installazione, è importante verificare i requisiti minimi per il corretto funzionamento dell’interfaccia. Sono infatti necessari PHP 5.3.29 o successivo e WordPress 3.7 o successivo. L’ambiente UNIX-like (Linux, OS X o FreeBSD) è preferibile, poiché Windows è supportato solo parzialmente. In quest’ultimo caso PHP andrebbe installato manualmente, perché non disponibile come impostazione predefinita sulla riga di comando. In alternativa, si potrebbero usare altri strumenti a riga di comando come Cygwin, in grado di simulare le funzionalità Linux su Windows. La sintassi è semplice: si basa su comandi e sottocomandi. I comandi rimandano alla sezione di WordPress sulla quale si vuole lavorare. I sottocomandi sono le azioni da eseguire su date sezioni. Ad esempio, nella stringa wp post delete 471, post è il comando (la sezione è quella dei post), mentre delete 471 sarà il sottocomando (si richiede di eliminare il post, in questo caso quello con ID pari a 471). Esistono poi le opzioni e i parametri, ovvero le impostazioni che possono essere applicate sui sottocomandi. Sia le opzioni che i parametri vengono preceduti da due trattini (es. –option).

Creazione e sviluppo di WP-CLI

WP-CLI è stato creato nel 2011 da Andreas Creten e Scribu, pseudonimo di Cristi Burcă. Il nome dell’interfaccia è composto da WP, sigla per WordPress, e CLI ovvero Command-Line Interface (in italiano Interfaccia a riga di comando). Questo strumento è stato considerato fin da subito un elemento essenziale per la gestione di siti WordPress ed è supportato ufficialmente dallo stesso CMS a partire dal 2016. Grazie alle sue funzionalità, è diventato addirittura un requisito per altri progetti open source come Bedwork, Trellis e Vccw. Anch’esso nato come progetto open source, nell’aprile 2014 WP-CLI passa ufficialmente sotto la gestione di Daniel Bachhuber, un collaboratore di Scribu dal 2013. Dopo aver sviluppato attivamente progetti e plugin per diversi anni, Cristi Burcă ammette, tramite un post pubblicato su wp-cli.org e sul suo blog personale, di aver smesso di usare e di collaborare con WordPress già dal 2012. Burcă motiva il cambiamento di rotta sia per la necessità di esplorare e conoscere altri CMS, ma anche per via di alcune specifiche tecniche, a suo giudizio quasi obsolete. Tuttavia, si è dichiarato consapevole e felice di affidare il progetto ad un esperto sviluppatore WordPress. Dal gennaio del 2017, Alain Schlesser co-mantiene l’ecosistema WP-CLI, curandone quindi il framework, i comandi bundle e tutte le proprietà web correlate. L’8 agosto 2018 viene rilasciato WP-CLI v2, sviluppato grazie ad un team di 57 collaboratori, con l’intento di soddisfare più di 340 pull request fatte da sviluppatori da tutto il mondo. Tra le numerose novità, sono stati introdotti nuovi comandi per la gestione degli alias e della maintenance mode. È stata inoltre rinominata una piccola parte dei metodi, delle proprietà e delle funzioni per rendere WP-CLI più intuitivo e veloce. Oltre a quanto già detto, con WP-CLI v2 il requisito minimo PHP è stato alzato a PHP 5.4.

 

Perché usare WP-CLI?

WP-CLI è uno strumento intuitivo e potente, che permette di controllare pienamente un sito WordPress, velocizzando notevolmente le interazioni sviluppatore-sito. In particolare, usando gli script bash, è possibile eseguire con un singolo comando una notevole sequenza di azioni. Per riassumere, WP-CLI consente di: – Scaricare, installare e aggiornare qualsiasi versione di WordPress grazie al comando core. – Installare e aggiornare temi e plugin rispettivamente tramite i comandi theme e plugin, anche su più client contemporaneamente.

– Creare e gestire i temi child (o temi figli). A partire dal tema parent (tema genitore) già esistente in WordPress, il tema figlio eredita tutte le sue caratteristiche e le sue funzionalità, ma può implementarlo senza bisogno di riscrivere sul tema originale.

– Fare un elenco di tutti i plugin e verificare il loro status (A per attivo, I per inattivo e UA per aggiornamento disponibile).

– Caricare file, pubblicare post e commenti in blocco e non singolarmente. I post creati verranno salvati di default come bozza, ma possono anche essere pubblicati immediatamente. In questo modo si eviterà di eseguire ripetutamente le stesse azioni e sarà più facile e veloce creare siti test. WP-CLI diventa particolarmente utile anche per quanto riguarda la moderazione dei commenti: i diversi sottocomandi permettono di creare, eliminare e modificare tutti i commenti presenti sotto i post in poco tempo.

– Fare il backup dei database, ripristinare i database già esistenti e sostituire qualsiasi stringa con db, export ed import.

– Creare utenti e cambiarne i permessi, le password e qualsiasi altra informazione.

– Fare ricerche e sostituzioni nel database.

– Gestire il network WordPress Multisite. In caso di esecuzione di più di un sito sulla stessa rete, WP-CLI permette di specificare il sito su quale eseguire il comando, grazie al parametro URL globale.

– Creare i propri pacchetti ed estendere le funzionalità di WP-CLI. Quelle elencate sono solo le funzioni più basiche: con WP-CLI è ovviamente possibile eseguire azioni anche più complesse e specifiche come la concatenazione di comandi multipli e la gestione da remoto tramite SSH (Secure Shell). Per visualizzare la lista dei comandi e dei sottocomandi WP-CLI disponibili basta digitare sul prompt il comando wp help o semplicemente wp. La lista completa è disponibile anche su WordPress.org. In conclusione, WP-CLI si è rivelato fin da subito uno strumento molto utile agli sviluppatori, siano essi esperti che alle prime armi. WP-CLI è molto apprezzato per la sua intuitività e le infinite possibilità di personalizzazione, ma soprattutto per la capacità di automatizzare processi lunghi e ripetitivi.

Da sottolineare che i comandi di wp-cli vanno eseguiti tutti con “wp” + “comando” oppure “parametro” e ci si deve trovare nella cartella dove è presente wordpress. Vanno eseguiti tutti da SSH. Di seguito alcuni esempi su alcuni comandi basilari. Una volta fatto il login tramite SSH

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

si può procedere a lanciare il comando iniziale per verificare la versione di wp cli ed alcune caratteristiche

wp --info

il risultato sarà simile a questo

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Ci sono poi altri comandi basilari che si possono usare come

wp --version

per verificare la versione di wp-cli

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Se si vuole sapere la versione di wordpress installata si deve lanciare il comando

wp core version

e si avrà un risultato come questo

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Scrivendo

wp help

si avrà una lista dei comandi utilizzabili

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Per avere la lista dei temi o dei plugin installati bisogna digitare per i temi

wp theme list

e per i plugin

wp plugin list

ed il risultato sarà simile a questo

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Da wp cli si possono installare, attivare, disattivare e rimuovere temi e plugin. Il parametro generico, da sostituire con “theme” oppure “plugin” è così

wp <parametro> install <pacchetto>

wp <parametro> activate <pacchetto>

wp <parametro> delete <pacchetto>

ecco un esempio pratico

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Per quanto riguarda i post lanciando il comando

wp post list

si otterà la lista dei post

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Ovviamente i post si possono aggiungere tramite wp-cli ma risulta altamente scomodo. La sintassi è come questa

wp post create --post_title='<titolo>' --post_content='<contenuto>' --post_status='<stato>'

Dove <titolo> indica il titolo del post <contenuto> indica il contenuto del post <stato> indica se è pubblicato, protetto, bozza o altro. Ecco un esempio

wp post create --post_title='Ciao lettore!' --post_content='Stai leggendo un articolo scritto con wp-cli' --post_status='publish'

anche la modifica è possibile. Dopo aver lanciato il comando per avere la lista degli articolo basta lanciare

wp post update <ID> --post_content='<contenuto>' --post_status='<stato>'

Dove <ID> indica l’ID del post <contenuto> indica il contenuto del post <stato> indica se è pubblicato, protetto, bozza o altro.

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Ecco un esempio

wp post update 9 --post_content='Ora questo articolo è modificato' --post_status='publish'

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Con il comando

wp post delete <ID>

si può cancellare il post

Immagine della guida WP-cli: Lo strumento per gestire WP al 100% del sito Cionfs.it

Una lista completa dei comandi di wp-cli può essere visionata sul sito di wordpress.org