New plugins: core-tools New skills: auto-expense, ticket-triage, design, security-check, aiktop-tasks, daily-digest, imap-triage, index-update, mindmap, notebooklm, proc-creator, tasks-overview, validate-component, perfex-module, report, calendar-manager New agents: design-critic, design-generator, design-lead, design-prompt-architect, design-researcher, compliance-auditor, metabase-analyst, gitea-integration-specialist Updated: all plugin configs, knowledge datasets, existing skills Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
12 KiB
12 KiB
WP-CLI no CWP — Referência Completa de Comandos
Servidor: server.descomplicar.pt (176.9.3.158) | porta 9443
PHP padrão: /opt/alt/php-fpm83/usr/bin/php
Formato Base
/opt/alt/php-fpm83/usr/bin/php /usr/local/bin/wp GRUPO SUBCOMANDO [FLAGS] --allow-root --path=/home/USER/public_html
Core WordPress
wp core version # Versão actual
wp core update # Actualizar para latest
wp core update --version=6.4.3 --force # Versão específica
wp core download # Descarregar sem instalar
wp core verify-checksums # Verificar integridade ficheiros
wp core install --url=... --title=... \
--admin_user=admin --admin_email=... # Instalar novo WordPress
wp core is-installed # Verificar se está instalado
wp core update-db # Actualizar base de dados após update
Plugins
wp plugin list # Listar todos
wp plugin list --status=inactive # Só inactivos
wp plugin list --update=available # Com updates disponíveis
wp plugin install SLUG # Instalar
wp plugin install SLUG --activate # Instalar e activar
wp plugin install SLUG --version=X.X # Versão específica
wp plugin activate SLUG # Activar
wp plugin deactivate SLUG # Desactivar
wp plugin deactivate --all # Desactivar todos (debug)
wp plugin delete SLUG # Remover ficheiros
wp plugin update SLUG # Actualizar plugin específico
wp plugin update --all # Actualizar todos
wp plugin update --all --dry-run # Preview de updates
wp plugin verify-checksums SLUG # Verificar integridade
wp plugin verify-checksums --all # Verificar todos
wp plugin search TERMO # Pesquisar no repo WordPress.org
wp plugin get SLUG # Info detalhada
wp plugin path SLUG # Path do plugin no servidor
Temas
wp theme list # Listar todos
wp theme install SLUG # Instalar
wp theme install SLUG --activate # Instalar e activar
wp theme activate SLUG # Activar tema
wp theme update SLUG # Actualizar
wp theme update --all # Actualizar todos
wp theme delete SLUG # Remover
wp theme get SLUG # Info detalhada
wp theme is-active SLUG # Verificar se activo
Base de Dados
wp db export /caminho/backup.sql # Exportar
wp db export - | gzip > backup.sql.gz # Exportar comprimido
wp db import backup.sql # Importar
wp db optimize # Optimizar tabelas
wp db repair # Reparar tabelas
wp db check # Verificar integridade
wp db size # Tamanho da BD
wp db tables # Listar tabelas
wp db prefix # Prefixo actual
wp db query "SQL;" # Query directa
wp db search "TERMO" # Pesquisar em toda a BD
wp db clean --tables=revision # Limpar revisões
Search-Replace (Migração)
# SEMPRE fazer dry-run primeiro
wp search-replace 'old.com' 'new.com' --dry-run
# Executar
wp search-replace 'https://old.com' 'https://new.com'
# Só numa tabela
wp search-replace 'old' 'new' wp_options wp_postmeta
# Com relatório detalhado
wp search-replace 'old' 'new' --report-changed-only
# Sem serialization (mais rápido, menos seguro)
wp search-replace 'old' 'new' --no-php
# Número de linhas por batch (para BDs grandes)
wp search-replace 'old' 'new' --precise
# Skip tabelas específicas
wp search-replace 'old' 'new' --skip-tables=wp_users
Options WordPress
wp option get NOME # Ler option
wp option update NOME VALOR # Actualizar (simples)
wp option patch update NOME SUBKEY VALOR # Actualizar sub-key (serialized)
wp option pluck NOME SUBKEY # Ler sub-key
wp option add NOME VALOR # Adicionar
wp option delete NOME # Apagar
wp option list # Listar todas
wp option list --search='rank*' # Filtrar por nome
wp option list --autoload=yes # Só com autoload
Post Meta / User Meta / Term Meta
# Post Meta
wp post meta list POST_ID # Listar meta de um post
wp post meta get POST_ID META_KEY # Ler valor
wp post meta update POST_ID META_KEY VAL # Actualizar
wp post meta add POST_ID META_KEY VAL # Adicionar
wp post meta delete POST_ID META_KEY # Apagar
# Com formato JSON (para arrays/objects)
wp post meta update POST_ID META_KEY '["val1","val2"]' --format=json
# Term Meta
wp term meta list TERM_ID
wp term meta get TERM_ID META_KEY
wp term meta update TERM_ID META_KEY VAL
# User Meta
wp user meta list USER_ID
wp user meta get USER_ID META_KEY
wp user meta update USER_ID META_KEY VAL
Posts e Conteúdo
wp post list # Listar posts
wp post list --post_type=page # Só páginas
wp post list --post_status=draft # Só rascunhos
wp post get POST_ID # Info completa
wp post create --post_type=post \
--post_title="Título" \
--post_status=publish # Criar post
wp post update POST_ID --post_title="..." # Actualizar
wp post delete POST_ID # Apagar (lixo)
wp post delete POST_ID --force # Apagar definitivo
wp post generate --count=10 # Gerar posts de teste
Utilizadores
wp user list # Listar todos
wp user list --role=administrator # Filtrar por papel
wp user get USER_ID # Info utilizador
wp user get USERNAME --field=ID # Obter ID por username
wp user create LOGIN EMAIL \
--role=administrator \
--user_pass=SENHA # Criar
wp user update USER_ID --user_pass=SENHA # Alterar password
wp user update USER_ID --user_email=... # Alterar email
wp user set-role USER_ID administrator # Alterar papel
wp user delete USER_ID --reassign=1 # Apagar, transferindo conteúdo
wp user check-password USER_ID SENHA # Verificar password
wp user reset-password USER_ID # Reset password (envia email)
Cache e Transientes
wp cache flush # Limpar object cache
wp cache get KEY [GROUP] # Ler cache
wp transient delete --all # Apagar todos transientes
wp transient delete NOME # Apagar transiente específico
wp transient get NOME # Ler transiente
wp rewrite flush # Regenerar rewrite rules
wp rewrite list # Listar rules actuais
Cron
wp cron event list # Listar eventos agendados
wp cron event run HOOK_NAME # Executar agora
wp cron event delete HOOK_NAME # Apagar evento
wp cron event schedule HOOK cron now # Agendar evento
wp cron schedule list # Ver schedules disponíveis
wp cron test # Testar se cron está funcional
wp eval — Execução PHP
# Código PHP inline
wp eval 'echo PHP_VERSION."\n";' --allow-root --path=$PATH
# Ficheiro PHP
wp eval-file script.php --allow-root --path=$PATH
# Com parâmetros
wp eval 'global $wpdb; echo $wpdb->prefix;' --allow-root --path=$PATH
# Ver constantes WordPress
wp eval 'echo WP_CONTENT_DIR."\n"; echo ABSPATH;' --allow-root --path=$PATH
# Executar com utilizador específico
wp eval 'echo get_current_user_id();' --user=1 --allow-root --path=$PATH
Multisite
wp site list # Listar sites
wp site create --slug=subdomain # Criar site
wp site activate ID # Activar
wp site deactivate ID # Desactivar
wp site delete ID # Apagar
# Executar comando em todos os sites
wp site list --field=url | xargs -I {} wp --url={} plugin list --allow-root --path=$PATH
WooCommerce CLI
wp wc product list # Listar produtos
wp wc product get ID # Produto específico
wp wc product create --name="Nome" \
--regular_price="19.99" # Criar produto
wp wc product update ID --regular_price="29.99" # Actualizar
wp wc product delete ID # Apagar
wp wc order list # Listar encomendas
wp wc order get ID # Encomenda específica
wp wc order update ID --status=completed # Mudar estado
wp wc customer list # Listar clientes
wp wc shipping_zone list # Zonas de entrega
Segurança e Diagnóstico
# Verificar integridade completa
wp core verify-checksums --allow-root --path=$PATH
wp plugin verify-checksums --all --allow-root --path=$PATH
# Configuração PHP activa
wp eval 'echo PHP_VERSION."\n".php_ini_loaded_file()."\n";' --allow-root --path=$PATH
wp eval 'echo ini_get("memory_limit")."\n".ini_get("max_execution_time");' --allow-root --path=$PATH
# Ver configuração WordPress
wp option get siteurl --allow-root --path=$PATH
wp option get blogname --allow-root --path=$PATH
wp option get active_plugins --format=json --allow-root --path=$PATH
# Verificar se WP_DEBUG activo
wp eval 'echo WP_DEBUG ? "DEBUG ON" : "DEBUG OFF";' --allow-root --path=$PATH
# Listar ficheiros modificados recentemente (possível hack)
find /home/USER/public_html -name "*.php" -newer /home/USER/public_html/wp-config.php -not -path "*/wp-content/cache/*" 2>/dev/null | head -20
Scripts de Manutenção
Backup completo de um site
#!/bin/bash
PATH_WP="/home/USER/public_html"
BACKUP_DIR="/media/ealmeida/Dados/GDrive/Backups/WP"
DATE=$(date +%Y%m%d_%H%M)
SITE=$(basename $(dirname $PATH_WP))
mkdir -p "$BACKUP_DIR"
# Backup BD
/opt/alt/php-fpm83/usr/bin/php /usr/local/bin/wp db export \
"$BACKUP_DIR/${SITE}_db_${DATE}.sql" \
--allow-root --path=$PATH_WP
# Backup ficheiros
tar -czf "$BACKUP_DIR/${SITE}_files_${DATE}.tar.gz" \
-C $(dirname $PATH_WP) public_html \
--exclude="public_html/wp-content/cache"
echo "Backup completo: $BACKUP_DIR"
Manutenção semanal (todos os sites)
#!/bin/bash
find /home -name wp-config.php -not -path "*/backup*" 2>/dev/null | while read config; do
dir=$(dirname "$config")
user=$(stat -c '%U' "$dir")
# Detectar PHP do utilizador
php_fpm=$(ps aux | grep "php-fpm: pool ${user}" | grep -v grep | head -1 | grep -o 'php-fpm[0-9][0-9]' | head -1)
php_ver=${php_fpm:-php-fpm82}
php_bin="/opt/alt/${php_ver}/usr/bin/php"
echo "=== $user ($dir) — PHP $php_ver ==="
$php_bin /usr/local/bin/wp core update --allow-root --path="$dir" 2>/dev/null
$php_bin /usr/local/bin/wp plugin update --all --allow-root --path="$dir" 2>/dev/null
$php_bin /usr/local/bin/wp theme update --all --allow-root --path="$dir" 2>/dev/null
$php_bin /usr/local/bin/wp db optimize --allow-root --path="$dir" 2>/dev/null
$php_bin /usr/local/bin/wp cache flush --allow-root --path="$dir" 2>/dev/null
done
Flags Globais Úteis
| Flag | Descrição |
|---|---|
--allow-root |
Obrigatório no CWP (executa como root) |
--path=/home/USER/public_html |
Caminho da instalação WordPress |
--url=https://site.pt |
URL do site (importante em multisite) |
--user=1 |
Executar como utilizador WordPress específico |
--format=json|table|csv|ids |
Formato do output |
--fields=ID,name |
Campos a mostrar |
--debug |
Output de debug detalhado |
--quiet |
Sem output (para scripts) |
--dry-run |
Preview sem executar (onde disponível) |
--skip-plugins |
Não carregar plugins (troubleshooting) |
--skip-themes |
Não carregar temas |
WP-CLI CWP — Referência Completa | Descomplicar® | v1.0.0 | 18-02-2026