Introdução ao wp-cli

O wp-cli é uma ferramenta de linha de comando voltada para usuários avançados realizarem tarefas administrativas relacionadas ao sistema de gestão de conteúdo (CMS) WordPress.
Este post se baseia na documentação original do software. Recomendo consultá-la para obter mais informações e clicar nos outros links, no decorrer do texto, para se aprofundar mais em algum tema.

O WP-CLI é a ferramenta de linha de comando oficial, disponível para interagir com e gerenciar seus sites na plataforma WordPress.

O objetivo do projeto é oferecer uma alternativa completa para adiministradores(as) de sites WordPress.
É equivalente ao painel administrativo de qualquer CMS, só que oferece as mesmas possibilidades na CLI (interface de linha de comando).
Como exemplo preliminar, veja como instalar e ativar um plugin no seu site, na linha de comando do seu servidor:


wp plugin install nome-do-plugin --activate

Grandes provedores de hospedagem, como o DreamHost oferecem a ferramenta.
Para começar a usá-la, basta acessar o servidor via SSH e começar a usar.
Quem usa Linux, também pode instalar a ferramenta na sua máquina de trabalho local.
O programa também está disponível para outras plataformas, como o FreeBSD, MacOS e Windows (neste caso, com algumas limitações).
Para acesso remoto, o WP-CLI local repassa os comandos à cópia instalada no servidor. Funciona de modo semelhante ao comando scp.

Desenvolvido por usuários avançados do WordPress, para atender às necessidades administrativas de outros heavy users.
No longo prazo, mesmo um novato pode descobrir os benefícios da linha de comando: mais eficiência e mais controle.

A sintaxe do wp-cli

Veja a explicação sobre um exemplo prático, abaixo:


wp plugin install

usage: wp plugin install ... [--version=] [--force] [--activate] [--activate-network]

Como o comando não se encontra completo (por que não foi indicado exatamente qual o plugin a ser instalado), ele retorna uma linha de ajuda rápida sobre a sintaxe a ser usada, na execução do wp:

  • wp plugin install — este é o comando em si. Falta indicar parâmetros e opções para que seja executado com sucesso.
  • <plugin|zip|url> — logo após o comando é necessário indicar de onde você pretende instalar o plugin: pelo nome, a partir de um pacote ZIP ou de uma URL na Internet.
  • [--version=<version>] — parâmetros sugeridos entre “[colchetes]” são opcionais. Neste exemplo, o que se quer dizer é que você pode indicar uma versão específica a ser instalada ou não.

Eventualmente, você pode incorrer na seguinte mensagem de erro:

Pass --path=`path/to/wordpress` or run `wp core download`.

Ela quer dizer que você precisa indicar exatamente em que local se encontra o seu site, dentro do provedor.
Lembre-se que, mesmo uma simples conta compartilhada em um provedor de hospedagem pode ter vários sites WordPress instalados.
E instalar coisas erradas em lugares errados pode ser muito ruim.
Segue alguns exemplos de uso do WP-CL.

Como instalar o WordPress pelo WP-CLI

Instalar a mais nova versão do WordPress é uma das coisas que você pode fazer com o aplicativo:


sudo -g www-data -i -- wp core download --path=/var/www/html/novo-blog

Creating directory '/var/www/html/novo-blog/'.
Downloading WordPress 4.8.1 (en_US)...
md5 hash verified: f3dd0e033519aa363eb07e13c6676e3c
Success: WordPress downloaded.

Acima, o comando é apenas “wp core download”. Como executei no meu servidor local (que tem configurações diferentes de provedores de hospedagem (até por que não é um)), precisei dar mais algumas informações ao WP-CLI:

  • sudo -g www-data — pedi para que o comando seja executado com os privilégios do grupo ‘www-data’.
  • --path=/var/www/html/novo-blog indiquei um novo diretório para baixar e instalar a última versão do WordPress.

Se o diretório, indicado no parâmetro ‘–path’ não existir, ele será criado e o WordPress baixado para lá.
Abra o navegador no diretório recém criado e inicie o processo de instalação do novo site.

Como atualizar todos os plugins do seu site WordPress

Você pode atualizar todos os plugins instalados no seu site com um único comando. Veja:


wp plugin update --all --path='meusite.com.br/blog'

Ativando modo de manutenção...
Fazendo download de (https://downloads.wordpress.org/plugin/akismet.3.3.4.zip)...
Descompactando a atualização...
Instalando a versão mais recente...
Removendo a versão antiga do plugin...
Plugin atualizado com sucesso.
Fazendo download de (https://downloads.wordpress.org/plugin/jetpack.5.2.1.zip)...
Descompactando a atualização...
Instalando a versão mais recente...
Removendo a versão antiga do plugin...
Plugin atualizado com sucesso.
Fazendo download de (https://downloads.wordpress.org/plugin/wpforms-lite.zip)...
Descompactando a atualização...
Instalando a versão mais recente...
Removendo a versão antiga do plugin...
Plugin atualizado com sucesso.
Desativando modo de manutenção...
+--------------+-------------+-------------+---------+
| name         | old_version | new_version | status  |
+--------------+-------------+-------------+---------+
| akismet      | 3.3.3       | 3.3.4       | Updated |
| jetpack      | 5.1         | 5.2.1       | Updated |
| wpforms-lite | 1.3.8       | 1.3.9.1     | Updated |
+--------------+-------------+-------------+---------+
Success: Updated 3 of 3 plugins.

Para mim, este processo durou 3 segundos. 😉

Assine este site

Todo dia eu aprendo alguma coisa nova sobre administração de servidores, WordPress, bancos de dados, Android etc.
Desde o começo, este site existe para compartilhar o que sei com outras pessoas.
Se quiser ser avisado(a) quando houver post novo no blog, inscreva-se abaixo!

Referências

https://wp-cli.org/.