Durante o processo de exportação e importação de um site em WordPress é inevitável que seja necessário fazer a instalação de vários plugins. Para agilizar este rotina pesquisei como o WP-CLI poderia me ajudar e vou compartilhar minha solução neste post.
Instalando vários plugins pelo WP-CLI
Utilizando um comando longo
No comando de instalação de plugin, você adiciona mais do que um nome (slug) separado por espaço.
wp plugin install wordpress-seo redirection simple-custom-post-order contact-form-7 contact-form-7-honeypot
Utilizando um arquivo de texto
É possível fazer a instalação através de um arquivo texto, contendo um nome (slug) por linha.
wp plugin install --activate $(<plugins.txt)
Code language: JavaScript (javascript)
Encontrei a solução acima no blog do Sal Ferrarello que escreveu um post após isto ter sido assunto em um dos meetups que participou.
No final deste post, ensino como gerar um arquivo texto com a lista de plugins instalados.
Instalando plugins que não estão no repositório oficial
As soluções acima apenas funcionam para plugins que estão no repositório oficial do WordPress. Porém, também é possível fazer a instalação de plugins externos se você tiver a URL do arquivo .ZIP do plugin.
wp plugin install http://static.ironcodestudio.com/fe-hello-world.zip
Code language: JavaScript (javascript)
Você também pode adicionar essa URL no arquivo plugins.txt que irá funcionar. Créditos novamente ao blog do Sal Ferrarello por esta solução.
É importante lembrar que ao fazer isso você deve ter um cuidado redobrado, pois baixar um plugin de uma URL sem examiná-lo antes, é um grande risco de segurança.
Gerando um arquivo com a lista dos plugins instalados
Utilizando o WP-CLI
Vamos utilizar a funcionalidade de listar plugins no formato CSV e salvar o resultado no arquivo plugins.txt. Como a primeira linha da saída do comando é o nome da coluna de nomes dos plugins (name
), removemos ela com o comando tail
.
wp plugin list --fields=name --format=csv | tail -n +2 > plugins.txt
Code language: PHP (php)
Utilizando apenas o terminal via SSH
Se você só tiver acesso SSH ao servidor, é possível gerar um arquivo com os nomes das pastas dos plugins, removendo o arquivo. Para fazer isso, entre na pasta de plugins e digite o comando abaixo.
ls -1 -d */ | sed 's/\///' > plugins.txt
Code language: JavaScript (javascript)
Ele irá listar todas as pastas, remover o /
no final dos nomes e salvar a lista no arquivo plugins.txt
.
Como alternativa, também é possível utilizar o comando find
.
find . -maxdepth 1 -type d -printf '%f\n' | tail -n +2 > plugins.txt
Code language: JavaScript (javascript)
Deixe um comentário