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.

wp-cli


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

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:

CommandDescription
  
cacheManage the object cache.
capManage user capabilities.
cliGet information about WP CLI itself.
commentManage comments.
coreDownload, install, update and otherwise manage WordPress proper.
cronManage WP-Cron events and schedules.
dbPerform basic database operations.
evalExecute arbitrary PHP code after loading WordPress.
eval-fileLoad and execute a PHP file after loading WordPress.
exportExport content to a WXR file.
helpGet help on a certain command.
importImport content from a WXR file.
mediaManage attachments.
menuList, create, assign, and delete menus
network 
optionManage options.
pluginManage plugins.
postManage posts.
rewriteManage rewrite rules.
roleManage user roles.
scaffoldGenerate code for post types, taxonomies, etc.
search-replaceSearch/replace strings in the database.
shellInteractive PHP console.
sidebarManage sidebars.
sitePerform site-wide operations.
super-adminList, add, and remove super admins from a network.
termManage terms.
themeManage themes.
transientManage transients.
userManage users.
widgetManage 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 http://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 http://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 tudoparawp.com.br, e para alterar o banco de dados, bastou utilizar o comando abaixo:

wp search-replace 'http://www.tudoparawordpress.com.br' 'https://tudoparawp.com.br'

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.

10 Comments

  1. Quero começar a trabalhar com o WP-CLI, vou utilizar esse guia como minha referência.

    Muito bom o artigo!

    Valeu!

  2. Parabéns!

    Estou preprando um post sobre o WP-CLI também, espero poder complementar.

    Abs!

  3. 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.

  4. 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.

  5. 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.

  6. 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. :)

Deixe uma resposta