Files
claude-plugins/wordpress/skills/wp-cli/SKILL.md
Emanuel Almeida 6b3a6f2698 feat: refactor 30+ skills to Anthropic progressive disclosure pattern
- All SKILL.md files now <500 lines (avg reduction 69%)
- Detailed content extracted to references/ subdirectories
- Frontmatter standardised: only name + description (Anthropic standard)
- New skills: brand-guidelines, spec-coauthor, report-templates, skill-creator
- Design skills: anti-slop guidelines, premium-proposals reference
- Removed non-standard frontmatter fields (triggers, version, author, category)

Plugins affected: infraestrutura, marketing, dev-tools, crm-ops, gestao,
core-tools, negocio, perfex-dev, wordpress, design-media

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 15:05:03 +00:00

8.8 KiB

name, description
name description
wp-cli Gestão WordPress via WP-CLI no servidor CWP. Cobre core, plugins, temas, base de dados, utilizadores, migração, search-replace e automação com suporte multi-PHP.

/wp-cli - Gestão WordPress via WP-CLI no CWP

Operações WordPress via linha de comandos no servidor CWP (server.descomplicar.pt). Cobre core, plugins, temas, base de dados, utilizadores, migração e automação.

Servidor: server.descomplicar.pt (176.9.3.158) | porta SSH: 9443 Fonte: Hub/06-Operacoes/Documentacao/Manuais/WP-CLI no CWP.md NotebookLM: WordPress Config CLI


Contexto CWP — Regras Obrigatórias

# 1. Usar sempre --allow-root (CWP executa como root)
# 2. Especificar sempre --path= (não fazer cd)
# 3. Usar o PHP correcto para cada utilizador

# Formato base
/opt/alt/php-fpm83/usr/bin/php /usr/local/bin/wp COMANDO --allow-root --path=/home/USER/public_html

# Aliases ~/.bashrc (se configurados)
alias wp74='/opt/alt/php-fpm74/usr/bin/php /usr/local/bin/wp --allow-root'
alias wp82='/opt/alt/php-fpm82/usr/bin/php /usr/local/bin/wp --allow-root'
alias wp83='/opt/alt/php-fpm83/usr/bin/php /usr/local/bin/wp --allow-root'

Versões PHP disponíveis

Alias PHP Path
wp74 7.4 /opt/alt/php-fpm74/usr/bin/php
wp80 8.0 /opt/alt/php-fpm80/usr/bin/php
wp81 8.1 /opt/alt/php-fpm81/usr/bin/php
wp82 8.2 /opt/alt/php-fpm82/usr/bin/php
wp83 8.3 /opt/alt/php-fpm83/usr/bin/php

Detectar PHP activo de um utilizador

# Ver pool PHP-FPM do utilizador
ps aux | grep "php-fpm: pool USER" | grep -v grep | head -1

# Ou usar wp-auto.sh (auto-detect)
/root/wp-auto.sh --path=/home/USER/public_html plugin list

O script wp-auto.sh está em scripts/wp-auto.sh desta skill.


Core WordPress

PATH=/home/USER/public_html

# Verificar versão
wp core version --allow-root --path=$PATH

# Actualizar WordPress
wp core update --allow-root --path=$PATH

# Verificar integridade dos ficheiros
wp core verify-checksums --allow-root --path=$PATH

# Instalar versão específica
wp core download --version=6.4.3 --force --allow-root --path=$PATH

# Informações ambiente
wp --info --allow-root --path=$PATH

Plugins

# Listar todos os plugins
wp plugin list --allow-root --path=$PATH

# Listar plugins desactualizados
wp plugin list --update=available --format=table --allow-root --path=$PATH

# Actualizar todos os plugins
wp plugin update --all --allow-root --path=$PATH

# Instalar e activar
wp plugin install akismet --activate --allow-root --path=$PATH

# Activar / desactivar
wp plugin activate NOME --allow-root --path=$PATH
wp plugin deactivate NOME --allow-root --path=$PATH

# Remover plugin
wp plugin delete NOME --allow-root --path=$PATH

# Verificar integridade
wp plugin verify-checksums --all --allow-root --path=$PATH

Temas

# Listar temas
wp theme list --allow-root --path=$PATH

# Instalar e activar
wp theme install hello-elementor --activate --allow-root --path=$PATH

# Actualizar todos os temas
wp theme update --all --allow-root --path=$PATH

# Activar tema
wp theme activate NOME --allow-root --path=$PATH

Base de Dados

# Exportar (backup)
wp db export /home/USER/backup_$(date +%Y%m%d_%H%M).sql --allow-root --path=$PATH

# Importar (restaurar)
wp db import backup.sql --allow-root --path=$PATH

# Optimizar tabelas
wp db optimize --allow-root --path=$PATH

# Reparar tabelas corrompidas
wp db repair --allow-root --path=$PATH

# Query directa
wp db query "SELECT option_name, option_value FROM wp_options WHERE option_name='siteurl';" --allow-root --path=$PATH

# Tamanho tabelas
wp db query "SELECT table_name, ROUND((data_length+index_length)/1024/1024,2) AS MB FROM information_schema.tables WHERE table_schema=DATABASE() ORDER BY MB DESC LIMIT 20;" --allow-root --path=$PATH

Migração de Site (Search-Replace)

# Preview (dry-run) — SEMPRE primeiro
wp search-replace 'https://old.com' 'https://new.com' --dry-run --allow-root --path=$PATH

# Executar após confirmar
wp search-replace 'https://old.com' 'https://new.com' --allow-root --path=$PATH

# Com relatório
wp search-replace 'old.com' 'new.com' --report --allow-root --path=$PATH

# Após migração: limpar cache e regenerar rewrite rules
wp cache flush --allow-root --path=$PATH
wp rewrite flush --allow-root --path=$PATH

Utilizadores

# Listar utilizadores
wp user list --allow-root --path=$PATH

# Criar administrador
wp user create admin admin@site.pt --role=administrator --user_pass=SENHA --allow-root --path=$PATH

# Redefinir password
wp user update USERNAME --user_pass=NOVA_SENHA --allow-root --path=$PATH

# Adicionar papel a utilizador existente
wp user set-role USERNAME administrator --allow-root --path=$PATH

# Remover utilizador (transferindo conteúdo)
wp user delete USERNAME --reassign=1 --allow-root --path=$PATH

# Actualizar email admin
wp option update admin_email "novo@email.pt" --allow-root --path=$PATH

Cache e Transientes

# Limpar object cache (Redis/Memcached)
wp cache flush --allow-root --path=$PATH

# Apagar todos os transientes
wp transient delete --all --allow-root --path=$PATH

# Regenerar rewrite rules
wp rewrite flush --allow-root --path=$PATH

# Sequência completa pós-alteração
wp cache flush --allow-root --path=$PATH && \
wp transient delete --all --allow-root --path=$PATH && \
wp rewrite flush --allow-root --path=$PATH

Modo Manutenção

# Activar modo manutenção
wp maintenance-mode activate --allow-root --path=$PATH

# Verificar estado
wp maintenance-mode status --allow-root --path=$PATH

# Desactivar
wp maintenance-mode deactivate --allow-root --path=$PATH

Cron WordPress

# Listar eventos cron
wp cron event list --allow-root --path=$PATH

# Executar evento manualmente
wp cron event run HOOK_NAME --allow-root --path=$PATH

# Ver schedules disponíveis
wp cron schedule list --allow-root --path=$PATH

# Apagar evento
wp cron event delete HOOK_NAME --allow-root --path=$PATH

Operações em Massa (Todos os Sites)

# Encontrar todas as instalações WordPress
find /home -name wp-config.php -not -path "*/backup*" 2>/dev/null | while read config; do
    dir=$(dirname "$config")
    user=$(stat -c '%U' "$dir")
    echo "=== $user: $dir ==="
done

# Actualizar todos os sites (com PHP auto-detect)
find /home -name wp-config.php -not -path "*/backup*" 2>/dev/null | while read config; do
    dir=$(dirname "$config")
    user=$(stat -c '%U' "$dir")
    echo "--- Actualizando $user ---"
    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}
    /opt/alt/${php_ver}/usr/bin/php /usr/local/bin/wp core update --allow-root --path="$dir" 2>/dev/null
    /opt/alt/${php_ver}/usr/bin/php /usr/local/bin/wp plugin update --all --allow-root --path="$dir" 2>/dev/null
done

Erros Comuns e Soluções

Erro Causa Solução
Operation not permitted Sem --allow-root Adicionar --allow-root
PHP Fatal error: memory Limite memória define('WP_MEMORY_LIMIT','256M') no wp-config.php
max_execution_time exceeded Timeout em ops longas --exec-time=300 ou php.ini
Error establishing database connection BD em baixo wp db check --allow-root
Warning: Could not get lock Outro processo activo wp cli cache clear --allow-root
PHP version wrong Site usa PHP diferente ps aux | grep "pool USER" para detectar

Diagnóstico Rápido

# Informações completas do ambiente
wp --info --allow-root --path=$PATH

# Verificar conectividade BD
wp db check --allow-root --path=$PATH

# Ver configuração PHP activa
wp eval 'echo PHP_VERSION."\n".php_ini_loaded_file()."\n".ini_get("memory_limit")."\n";' --allow-root --path=$PATH

# Ver URL e email admin
wp option get siteurl --allow-root --path=$PATH
wp option get admin_email --allow-root --path=$PATH

# Listar utilizadores admin
wp user list --role=administrator --allow-root --path=$PATH

Recursos Adicionais

Scripts

  • scripts/wp-auto.sh — Auto-detecta PHP do utilizador e executa WP-CLI com a versão correcta

Referências

  • references/commands.md — Referência completa: todos os comandos com flags, WooCommerce CLI, options, wp eval avançado

Documentação Hub

  • Manual: Hub/06-Operacoes/Documentacao/Manuais/WP-CLI no CWP.md
  • NotebookLM: WordPress Config CLI
  • Skill relacionada: /rank-math — operações Rank Math SEO via WP-CLI

WP-CLI no CWP | Descomplicar® | v1.0.0 | 18-02-2026