O que é e como utilizar o WP CLI
O WP CLI é uma interface de linha de comando que permite que os usuários gerenciem seus sites WordPress a partir do prompt de comando.
Escrito em PHP e sob licença MIT, você pode o utilizar para uma série de tarefas: Upgrades podem ser realizados, backups podem ser gerados, novos posts podem ser publicados e a maioria das ações de administração regulares, como atualização de temas, plugins ou alterações de configurações, podem ser realizada com um conjunto de comandos.
Neste tutorial vamos explicar como usar a interface de linha de comando do WP CLI, a fim de concluir tarefas administrativas regulares como upgrades, criação de banco de dados e backup, instalação e remoção de plugins e temas, edição e exclusão de postagens, alteração das configurações de URL do site, etc.
Note-se que WP CLI requer acesso SSH, por isso se você usa servidor compartilhado, precisará perguntar para sua empresa de hospedagem se eles fornecem acesso a SSH.
Lista de assuntos abordados nesta matéria
- Instalando o WP CLI
- Lista dos comandos disponíveis para a WP CLI
- Instalando e ativando plugins e temas com o WP CLI
- Atualizando plugins e temas com o WP CLI
- Atualizando o WordPress com o WP CLI
- Outros comandos úteis
Instalando o WP CLI
Para instalar o WP CLI em seu servidor, primeiro seu ambiente deve cumprir os seguintes pré-requisitos:
- Ambiente UNIX (OS X, Linux, FreeBSD, Cygwin, etc)
- PHP 5.3.2 ou superior
- WordPress 3.5.2 ou superior
Vamos ao passos da instalação:
Faça o download do wp-cli.phar utilizando os comandos wget ou curl. Por exemplo:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Cheque se ele funciona utilizando o comando abaixo:
php wp-cli.phar --info
Para poder o utilizar através do comando wpao invés de php wp-cli.phar,você precisa tornar o arquivo executável e o mover para algum lugar em seu PATH. Por examplp:
chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp
Feito isso, tente rodar wp –info.
Para atualizar o WP CLI, basta seguir os mesmos passos.
Lista dos comandos disponíveis para a WP CLI
Antes de falar de alguns comandos, primeiro precisamos saber quais comandos estão disponíveis, então falaremos primeiro do comando help.
Utilizando o comando wp help ou apenas wp.
A lista a seguir será exibida:
Command | Description |
---|---|
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 WordPress proper. |
cron | Manage WP-Cron events and schedules. |
db | Perform basic database operations. |
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 | |
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. |
widget | Manage sidebar widgets. |
Você também verá uma lista de parâmetros globais:
>GLOBAL PARAMETERS --path= Path to the WordPress files --url= Pretend request came from given URL. In multisite, this argument is how the target site is specified. --user=<id|login|email> Set the WordPress user --skip-plugins[=] Skip loading all or some plugins --require= Load PHP file before running the command (may be used more than once) --[no-]color Whether to colorize the output --debug Show all PHP errors --prompt Prompt the user to enter values for all command arguments --quiet Suppress informational messages
Instalando e ativando plugins e temas com o WP CLI
Instalar e ativar plugins é muito fácil, e você vai começar a ver que os comandos são bem intuitivos a partir desta seção.
- wp plugin install Plugin_Name
- wp plugin activate Plugin_Name
Para ver quais plugins estão instalados, basta rodar o comando wp plugin status, e na seção seguinte veremos como os atualizar e o retorno que este comando nos dá.
Caso precise desinstalar um plugin, você pode utilizar o comando wp plugin install Plugin_Name.
Sobre os temas, a lógica segue a mesma, trocando apenas o comando plugin por theme.
Atualizando plugins e temas com o WP CLI
Antes de atualizar seu WordPress, é importante lembrar que você deve atualizar os plugins primeiro. Utilizar a versão mais nova de um plugin garante que você está seguro contra qualquer erro encontrado em versões anteriores, além de ter maiores chances de compatibilidade com a versão mais atual do WordPress, por isso é recomendado atualizar periodicamente os seus plugins, acompanhar o changelog dos plugins que você utilizar e colaborar com o desenvolvimento de tais plugins, caso você tenha conhecimento técnico para tal.
Manter os plugins atualizados pelo WP CLI é bastante simples! Primeiro, entre na pasta do seu WordPress pelo SSH e digite o seguinte comando: wp plugin status.
O retorno será como o do exemplo abaixo:
Installed plugins: UI akismet I hello UA jetpack A limit-login-attempts A SGCachePress Legend: I = Inactive, A = Active, M = Must Use, U = Update Available
No exemplo acima, vemos que os plugins Jetpack e Akismet tem uma atualização disponível. Para atualizar apenas um deles, basta utilizar o comando wp plugin update nome-plugin, portanto se rodarmos o comando wp plugin update jetpack e teremos o seguinte retorno:
Downloading update from https://downloads.wordpress.org/plugin/jetpack.2.3.zip... Unpacking the update... Installing the latest version... Removing the old version of the plugin... Plugin updated successfully.
Você pode repetir a operação para atualizar o akismet apenas trocando o nome do plugin no comando acima, ou pode pedir para atualizar todos os plugins de uma vez através do comando wp plugin update all.
Para temas, a lógica segue a mesma: com wp theme status vocẽ irá ver o status atual dos temas instalados, como quais estão ativados, desativados ou possuem atualização, e com wp theme update all, você irá atualizar todos os temas.
Atualizando o WordPress com o WP CLI
Se você não se recorda qual versão está instalada, basta rodar o comando wp core version e você terá como retorno o número da versão. Exemplo: 3.4.2
Para atualizar para a versão mais recente, basta utilizar o comando wp core update e você terá um retorno como esse:
Downloading update from https://wordpress.org/wordpress-4.1.1.zip... Unpacking the update... Success: WordPress updated successfully.
E pronto, WordPress atualizado!
Outros comandos úteis
Com o WP CLI, você pode até mesmo criar posts ou páginas através da linha de comando.
wp post create --post-type=post --post-status=publish --post-title='Título do post' --post_content='Conteúdo do post aqui' Success: Created post 5.
Ou até mesmo apagar este post caso não o queiramos mais, com wp post delete 5 –force
E uma vez nosso site esteja totalmente configurado, é sempre recomendado ter um backup dele, bem como o realizar periodicamente. Para tal, basta executar wp db export.
E um dos comandos que mais utilizo quando termino projetos de clientes é alterar o endereço do site no banco de dados após importar o backup do banco, normalmente com um endereço diferente. Recentemente, migramos este site para o dominio gugaalves.net, e para alterar o banco de dados, bastou utilizar o comando abaixo:
wp search-replace 'https://www.tudoparawordpress.com.br' 'https://gugaalves.net'
Conclusão
Como podemos ver, o WP CLI nos trás uma série de comandos úteis que dinamizam nosso trabalho e facilitam operações que precisam de muitos cliques pelo painel administrativo, ou que muitos recorrem a outras ferramentas, como para a alteração de endereço no banco de dados. Abordamos aqui alguns dos comandos principais, e teremos novas postagens sobre o CLI em breve.
Quero começar a trabalhar com o WP-CLI, vou utilizar esse guia como minha referência.
Muito bom o artigo!
Valeu!
Parabéns!
Estou preprando um post sobre o WP-CLI também, espero poder complementar.
Abs!
No caso de utilizar a HostGator como hospedagem compartilhada e ter SSH devo colocar este arqui em qual pasta para executar ele?
Você precisa apenas de acesso root na maquina, se tiver basta fazer a instalação a partir de qualquer pasta. Para executar os comandos depois que o CLI estiver instalado, você precisará acessar a pasta que o WordPress estiver instalado para poder executar comandos para esta instalação.
Obrigado pela resposta, mas no caso tenho apenas acesso SSH sem permissão de root, então não poderei fazer este processo!
Mesmo assim muito obrigado pelo retorno!
Irei tentar instalar em outro servidor para avaliar melhor a ferramenta.
Cria uma máquina de 5 dolares na Digital Ocean e testa 🙂
Dessa forma possa modificar o codigo do meu site que não hospeda em um servidor próprio?
Olá Regina,
este site trata apenas do WordPress instalado em seu servidor, isto é, a versão disponibilizada em WordPress.org. O WordPress.com não lhe libera nenhum acesso direto ao servidor.
Olá, achei muito interessante este WP-CLI.
Eu to vendo que com ele posso criar vários scripts. Um script excelente seria para configurar o WordPress e deixar pronto para o cliente colocar o conteúdo.
Teria como, de alguma forma, configurar os plugins via linha de comando também?
Muito obrigado.
Em relação a quem usa a hostgator, acho que é só mandar um email pedindo para eles fazerem a instalação. O ṕessoal do suporte da hostgator são muito gente boa. 🙂