Guida completa ai comandi WP-CLI con esempi pratici
WP-CLI è l’interfaccia a riga di comando ufficiale per WordPress e ti permette di gestire siti, plugin, temi, utenti, database e manutenzione direttamente dal terminale, senza passare dalla bacheca. In questa guida trovi i principali comandi WP-CLI (top-level) con una spiegazione chiara in italiano e almeno un esempio reale per ciascun comando.
L’obiettivo è darti una panoramica pratica dei comandi WP-CLI che servono davvero nella gestione quotidiana di WordPress e WooCommerce: installazioni, aggiornamenti, migrazioni, ottimizzazioni, sicurezza e automazione.
Struttura base dei comandi WP-CLI
Tutti i comandi seguono una struttura simile:
|
1 |
wp <comando> <sottocomando> [opzioni] |
Esempio generico:
|
1 |
wp plugin install woocommerce --activate |
Nei paragrafi che seguono trovi i comandi WP-CLI più utili, con descrizione ed esempio.
wp ability
Gestisce le “abilities” registrate tramite la WordPress Abilities API, usate per controllare permessi avanzati a livello di codice.
|
1 2 3 4 5 |
# Elenca tutte le abilities registrate wp ability list # Mostra i dettagli di una specifica ability wp ability get edit_posts |
wp admin
Apri la dashboard /wp-admin/ nel browser direttamente dal terminale. Utile quando lavori in SSH.
|
1 2 3 4 5 |
# Apre la bacheca dell'installazione corrente wp admin # Apre la bacheca indicando esplicitamente l'URL wp admin --url=https://esempio.it |
wp block
Lavora con i blocchi dell’editor Gutenberg, pattern e template collegati.
|
1 2 3 4 5 |
# Elenca tutti i blocchi registrati wp block list # Esporta i blocchi riutilizzabili wp block export reusable-blocks.json |
wp cache
Gestisce l’object cache di WordPress (in memoria o persistente tipo Redis/Memcached).
|
1 2 3 4 5 6 7 8 |
# Svuota tutta la cache wp cache flush # Imposta un valore in cache wp cache set chiave_esempio "valore in cache" 600 # Legge il valore dalla cache wp cache get chiave_esempio |
wp cap
Gestisce le capabilities (permessi) associate ai ruoli utente.
|
1 2 3 4 5 |
# Aggiunge la capability manage_options al ruolo editor wp cap add editor manage_options # Elenca le capability del ruolo editor wp cap list editor |
wp cli
Mostra informazioni sulla versione di WP-CLI e permette di aggiornarla.
|
1 2 3 4 5 |
# Mostra la versione di WP-CLI wp cli version # Aggiorna WP-CLI all'ultima versione wp cli update |
wp comment
Gestisce i commenti: moderazione, cancellazione, creazione, ecc.
|
1 2 3 4 5 6 7 8 |
# Elenca gli ultimi 10 commenti in moderazione wp comment list --status=hold --number=10 # Approva un commento wp comment approve 123 # Segna come spam tutti i commenti di un IP wp comment list --author_ip=1.2.3.4 --format=ids | xargs wp comment spam |
wp config
Crea e modifica il file wp-config.php in modo automatico.
|
1 2 3 4 5 6 7 8 |
# Crea wp-config.php con i dati del database wp config create --dbname=nome_db --dbuser=utente_db --dbpass=pass_db --dbhost=localhost # Imposta WP_DEBUG a true wp config set WP_DEBUG true --raw # Legge il valore di una costante wp config get WP_DEBUG |
wp core
Gestisce il core di WordPress: download, installazione e aggiornamenti.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# Scarica l'ultima versione di WordPress wp core download # Installa WordPress wp core install \ --url=https://esempio.it \ --title="Titolo sito" \ --admin_user=admin \ --admin_password=PasswordForte123 \ --admin_email=info@esempio.it # Aggiorna WordPress all'ultima versione wp core update |
wp cron
Gestisce il sistema WP-Cron (eventi pianificati).
|
1 2 3 4 5 6 7 8 |
# Elenca tutti gli eventi cron wp cron event list # Esegue tutti gli eventi scaduti fino ad ora wp cron event run --due-now # Rimuove uno specifico evento wp cron event delete mio_hook_cron |
wp db
Lavora direttamente sul database della tua installazione.
|
1 2 3 4 5 6 7 8 |
# Esporta il database in un file SQL wp db export backup.sql # Importa un dump nel database wp db import backup.sql # Ottimizza tutte le tabelle wp db optimize |
wp dist-archive
Crea un pacchetto di distribuzione (zip) di un plugin o tema, rispettando .distignore.
|
1 2 |
# Crea un archivio di distribuzione del plugin nella directory corrente wp dist-archive . mio-plugin.zip |
wp embed
Gestisce il sistema oEmbed di WordPress (contenuti incorporati).
|
1 2 3 4 5 |
# Mostra i provider e le impostazioni embed wp embed provider list # Cancella la cache degli embed wp embed cache clear |
wp eval
Esegue PHP inline con WordPress caricato (da usare con attenzione).
|
1 2 3 4 5 |
# Stampa il titolo del sito wp eval "echo get_option('blogname');" # Conta i post pubblicati wp eval "echo wp_count_posts('post')->publish;" |
wp eval-file
Esegue un file PHP con WordPress caricato.
|
1 2 |
# Esegue lo script fix-meta.php nella root del sito wp eval-file fix-meta.php |
wp export
Esporta contenuti WordPress in un file WXR (XML).
|
1 2 3 4 5 |
# Esporta tutti i contenuti in un file nella cartella exports wp export --dir=exports # Esporta solo i post di un autore wp export --dir=exports --author=admin |
wp find
Trova installazioni WordPress in una directory.
|
1 2 3 4 5 |
# Cerca installazioni WordPress a partire dalla directory corrente wp find # Cerca solo fino a una certa profondità wp find --max_depth=3 |
wp help
Mostra l’help generale o quello di un comando specifico.
|
1 2 3 4 5 |
# Help generale di WP-CLI wp help # Help dettagliato del comando plugin wp help plugin |
wp i18n
Strumenti di internazionalizzazione per plugin e temi.
|
1 2 3 4 5 |
# Crea un file .pot per il plugin nella cartella corrente wp i18n make-pot . languages/mio-plugin.pot # Aggiorna un file .pot esistente wp i18n make-pot . languages/mio-plugin.pot --merge |
wp import
Importa contenuti da un file WXR (XML) esportato da WordPress.
|
1 2 |
# Importa un file XML e crea gli autori mancanti wp import contenuti.xml --authors=create |
wp language
Gestisce i language pack di core, temi e plugin.
|
1 2 3 4 5 6 7 8 |
# Installa la lingua italiana per il core wp language core install it_IT # Imposta it_IT come lingua attiva wp language core activate it_IT # Aggiorna tutte le traduzioni wp language core update |
wp maintenance-mode
Attiva o disattiva la modalità manutenzione.
|
1 2 3 4 5 6 7 8 |
# Attiva la modalità manutenzione wp maintenance-mode activate # Mostra lo stato della modalità manutenzione wp maintenance-mode status # Disattiva la modalità manutenzione wp maintenance-mode deactivate |
wp media
Gestisce la libreria media (import, rigenerazione, ecc.).
|
1 2 3 4 5 |
# Rigenera tutte le miniature wp media regenerate # Importa tutte le immagini da una cartella come allegati wp media import ./immagini/*.jpg |
wp menu
Lavora con i menu di navigazione.
|
1 2 3 4 5 6 7 8 |
# Crea un nuovo menu wp menu create "Menu Principale" # Aggiunge una pagina esistente al menu wp menu item add-post "Menu Principale" 42 # Assegna il menu alla location 'primary' wp menu location assign "Menu Principale" primary |
wp network
Comandi per il network multisite (quando WordPress è in modalità multisito).
|
1 2 3 4 5 |
# Mostra info sul network wp network meta list 1 # Aggiorna il core su tutto il network wp core update --network |
wp option
Gestisce le opzioni della tabella wp_options.
|
1 2 3 4 5 6 7 8 |
# Legge il titolo del sito wp option get blogname # Aggiorna il titolo del sito wp option update blogname "Nuovo titolo sito" # Elimina un'opzione wp option delete mia_opzione |
wp package
Gestisce i pacchetti WP-CLI (comandi extra sviluppati da terzi).
|
1 2 3 4 5 |
# Elenca i pacchetti installati wp package list # Installa un pacchetto da GitHub wp package install wp-cli/find-command |
wp plugin
Gestisce i plugin WordPress: installazione, attivazione, aggiornamenti, ecc.
|
1 2 3 4 5 6 7 8 |
# Installa e attiva un plugin dal repository wp plugin install woocommerce --activate # Aggiorna tutti i plugin wp plugin update --all # Elenca i plugin installati wp plugin list |
Reinstallare tutti i plugin WordPress da zero con WP-CLI
Non esiste un singolo comando “reinstalla tutto”, ma puoi usare WP-CLI per reinstallare tutti i plugin scaricandoli di nuovo dal repository e sovrascrivendo i file esistenti. Esegui questo comando da terminale (prima fai un backup):
|
1 2 |
# Reinstalla tutti i plugin dal repository WordPress.org forzando la sovrascrittura wp plugin list --field=name | xargs -n1 wp plugin install --force |
Questo comando:
- estrae la lista dei plugin installati (
wp plugin list --field=name) - per ogni plugin esegue
wp plugin install <nome> --force, riscaricando e sovrascrivendo i file
Attenzione: funziona solo per i plugin presenti su WordPress.org. Per plugin premium/autoinstallati devi gestire la reinstallazione in modo specifico.
wp post
Gestisce post, pagine e custom post type.
|
1 2 3 4 5 6 7 8 9 10 11 |
# Crea una nuova pagina pubblicata wp post create \ --post_type=page \ --post_title="Pagina creata da WP-CLI" \ --post_status=publish # Aggiorna il titolo di un post wp post update 123 --post_title="Nuovo titolo" # Elimina definitivamente un post wp post delete 123 --force |
wp post-type
Mostra informazioni sui post type registrati.
|
1 2 3 4 5 |
# Elenca tutti i post type wp post-type list # Mostra i dettagli per il post type 'product' wp post-type get product |
wp profile
Serve per profilare le performance e capire cosa rallenta WordPress.
|
1 2 3 4 5 |
# Profila il caricamento della home wp profile stage timer # Profila l'esecuzione degli hook wp profile hook |
wp rewrite
Gestisce le rewrite rules e la struttura dei permalink.
|
1 2 3 4 5 |
# Elenca tutte le rewrite rules wp rewrite list # Esegue un flush completo delle regole wp rewrite flush --hard |
wp role
Gestisce i ruoli utente.
|
1 2 3 4 5 6 7 8 |
# Elenca tutti i ruoli wp role list # Crea un nuovo ruolo personalizzato wp role create supporto "Utente Supporto" # Elimina un ruolo personalizzato wp role delete supporto |
wp scaffold
Genera strutture di base (boilerplate) per plugin, temi e componenti.
|
1 2 3 4 5 |
# Crea lo scheletro di un nuovo plugin wp scaffold plugin mio-plugin-custom # Crea un child theme di un tema esistente wp scaffold child-theme mio-child --parent_theme=generatepress |
wp search-replace
Esegue una ricerca e sostituzione nel database. Perfetto per migrazioni (URL, path, ecc.).
|
1 2 3 4 5 |
# Esegue una ricerca e sostituzione su tutto il database (con dry-run) wp search-replace 'http://vecchio-dominio.it' 'https://nuovo-dominio.it' --dry-run # Esegue davvero la sostituzione wp search-replace 'http://vecchio-dominio.it' 'https://nuovo-dominio.it' |
wp server
Avvia il web server PHP integrato per sviluppare in locale.
|
1 2 3 4 5 |
# Avvia il server sulla porta 8000 wp server --port=8000 # Avvia il server su una IP/porta specifica wp server --host=0.0.0.0 --port=8080 |
wp shell
Apre una console PHP interattiva con WordPress caricato.
|
1 2 3 4 5 |
# Avvia la shell wp shell # Esempio di comando dentro la shell: # > get_option('admin_email'); |
wp sidebar
Lavora con le sidebars registrate.
|
1 2 |
# Elenca tutte le sidebars disponibili wp sidebar list |
wp site
Gestisce i siti in un network multisite.
|
1 2 3 4 5 |
# Elenca tutti i siti del network wp site list # Crea un nuovo sito nel network wp site create --slug=negozio2 --title="Negozio 2" --email=info@esempio.it |
wp super-admin
Gestisce gli utenti super admin in multisite.
|
1 2 3 4 5 |
# Elenca tutti i super admin wp super-admin list # Aggiunge un super admin wp super-admin add alessio |
wp taxonomy
Mostra informazioni sulle tassonomie registrate.
|
1 2 3 4 5 |
# Elenca le tassonomie wp taxonomy list # Mostra dettagli della tassonomia 'product_cat' wp taxonomy get product_cat |
wp term
Lavora con i termini di tassonomia (categorie, tag, termini custom).
|
1 2 3 4 5 6 7 8 |
# Crea una nuova categoria wp term create category "News" # Elenca tutte le categorie wp term list category # Elimina una categoria wp term delete category 12 |
wp theme
Gestisce i temi installati.
|
1 2 3 4 5 6 7 8 |
# Elenca tutti i temi wp theme list # Installa e attiva GeneratePress wp theme install generatepress --activate # Aggiorna tutti i temi wp theme update --all |
wp transient
Gestisce la Transient API (cache temporanea nel database).
|
1 2 3 4 5 6 7 8 |
# Imposta un transient wp transient set mia_chiave "valore" 3600 # Legge un transient wp transient get mia_chiave # Cancella tutti i transients wp transient delete --all |
wp user
Gestisce gli utenti WordPress.
|
1 2 3 4 5 6 7 8 |
# Crea un nuovo utente editor wp user create redattore redattore@example.com --role=editor --user_pass=PasswordSicura123 # Elenca tutti gli utenti wp user list # Reimposta la password di un utente wp user update admin --user_pass=NuovaPassword123 |
wp widget
Lavora con i widget nelle sidebars.
|
1 2 3 4 5 |
# Elenca i widget attivi wp widget list sidebar-1 # Aggiunge un widget Testo alla sidebar-1 wp widget add text sidebar-1 --title="Titolo widget" --text="Contenuto del widget" |
Questa guida ai comandi WP-CLI copre gli strumenti principali che ti servono per gestire WordPress e WooCommerce da riga di comando: installazioni, aggiornamenti, sicurezza, performance, migrazioni e automazione. Usandoli in modo sistematico, puoi ridurre i tempi di gestione, standardizzare procedure e avere molto più controllo sui tuoi progetti rispetto alla sola dashboard web.