WP CLI – Interfaccia a linea di comando per WordPress
da Massimo Della Rovere · pubblicato il 29 maggio, 2014 · modificato il 14 luglio, 2016

Siamo stati sempre abituati ad amministrare wordpress tramite la console grafica presente nel pannello di admin e anche se tramite questa interfaccia possiamo svolgere tutte le funzioni necessarie è anche vero che esistono delle condizioni dove la possibilità di eseguire funzioni tramite linea di comando può essere una cosa veramente utile. Proprio per questo oggi vi presento WP-CLI.

Introduzione

WP-CLI è un pacchetto scritto in PHP che mette a disposizione una serie di comandi che possono essere utilizzati durante la fase di installazione di wordpress per eseguire molte funzioni senza utilizzare un web browser, ad esempio possiamo installare un plugin, abilitare la modalità multisite, etc, etc, utilizzando la sola linea comandi. Ovviamente per utilizzare questo strumento bisogna avere accesso alla shell del nostro server o nel caso di postazione desktop locale dobbiamo avere un’ambiente Unix like.

Installazione

Per installare questo strumento sulla nostra macchina esistono diversi metodi che potete trovare al seguente link “WP-CLI con metodi alternativi“, io comunque vi riporto qui di seguito quello più classico che corrisponde anche al metodo ufficiale.

curl -kL https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar > wp-cli.phar

Dopo che avete scaricato questo file possiamo provarlo con una chiamata PHP (che deve essere già installato) e l’opzione del comando relativa alle informazioni (–info).

php wp-cli.phar --info

Se dopo l’esecuzione di questo comando vedete un’output che riporta la versione di PHP e altre informazioni significa che l’installazione è corretta e possiamo passare al passo successivo in cui spostiamo il comando e lo rinominiamo in un semplice “wp“.

sudo chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
wp --info

A questo punto dovremmo ottenere lo stesso risultato del passo precedente con la differenza che questa volta abbiamo a disposizione un veloce comando “wp” che utilizzeremo come riferimento in tutti gli esempi riportati in questo articolo.

Comandi generali

Prima di iniziare a fare qualche prova con il comando dovete spostarvi nella directory principale di una installazione di wordpress, in questa maniera possiamo avere sullo stesso server o sulla postazione locale differenti versioni di wordpress e gestirle tutte quante semplicemente spostandosi sulla “root” di ognuna di esse.

La prima cosa che dobbiamo conoscere è la lista delle azioni che possiamo eseguire tramite il comando “wp azione”, quindi lanciamo il seguente comando:

wp help

In questo modo dovreste ottenere una serie di azioni chiamate subcommand e l’elenco dei parametri a livello globale che valgono per qualsiasi sotto comando. Vi riporto qui di seguito l’elenco attuale che il comando mi rilascia in questo momento:

Subcommand Descrizione
cache Manage the object cache.
cap Manage user capabilities.
cli Get information about WP-CLI itself.
comment Manage comments.
core Download, install, update and otherwise manage.
developer Developer Plugin commands for WP-CLI.
eval Execute arbitrary PHP code after loading WordPress.
eval-file Load and execute a PHP file after loading WordPress.
export Export content to a WXR file.
help Get help on a certain command.
import Import content from a WXR file.
media Manage attachments.
menu List, create, assign, and delete menus.
network Manage network.
option Manage options.
plugin Manage plugins.
post Manage posts.
rewrite Manage rewrite rules.
role Manage user roles.
scaffold Generate code for post types, taxonomies, etc.
search-replace Search/replace strings in the database.
shell Interactive PHP console.
sidebar Manage sidebars.
site Perform site-wide operations.
super-admin List, add, and remove super admins from a network.
term Manage terms.
theme Manage themes.
transient Manage transients.
user Manage users.
widgets Manage sidebar widgets.

Ovviamente la richiesta di help non è solo valida nel primo livello per ottenere l’elenco dei comandi ma possiamo richiederla anche per i sotto comandi con la sinstassi “wp help subcommand” ad esempio se volessimo sapere tutti i comandi legati alle informazioni sui temi di wordpress possiamo lanciare il seguente comando:

wp help theme

dove scopriremo che esiste il sotto comando “list” che ci permette di conoscere tutti i temi presenti nella nostra installazione di wordpress. Quindi proviamo ad elencare questi temi e verifichiamo il corretto funzionamento del comando:

WP-CLI example

I comandi e le opzioni messe a disposizione sono veramente tante e non possono essere presentate tutte in un singolo articolo, però tramite il comando di help potete visionare tutte le possibilità e sviluppare quelle che vi interessano, tenete conto che non esistono solo comandi per avere informazioni ma è possibile anche eseguire funzioni di scrittura e modifica su diversi componenti presenti in wordpress, ad esempio:

search-replace: ci permette di ricercare una stringa nel database di wordpress e sostituirla in tutte le tabelle con un solo comando, funzione molto utile ad esempio quando si cambia dominio al nostro sito o anche quando bisogna cambiare le URL delle immagini presenti nei post perché magari spostate su servizi di CDN.

post create: con questo comando possiamo creare un post completo ed inserirlo in wordpress, funzione molto utile per inserire dei post automatici presi da fonti di origine diverse o utile anche per sviluppare programmi di conversione da altri CMS.

wp media regenerate: se dobbiamo cambiare, aggiungere o eliminare delle dimensioni predefinite dal nostro tema che riguardano le immagini, con questo comando possiamo rigenerare tutte le immagini presenti in wordpress ed ottenere le nuove thumbnail.

Conclusioni

Come avete potuto vedere le possibilità di utilizzo sono moltissime, quindi non vi resta che studiare tutti i comandi messi a disposizione e farmi sapere se avete trovato qualche funzione che vi è tornata utile per risparmiare tempo nelle operazioni di routine.

2 Commenti

  1. Ciao Massimo come sempre per il bello e attuale articolo.
    Mi ponevo il quesito se il tutto fosse possibile anche da ambiente Windows.

  2. Giulio sinceramente io no ho mai provato però se vai sulla pagina delle installazioni alternative trovi anche le istruzione per windows, quindi penso che sia possibile, magari cerca qualche articolo in internet.

condividi