Ao longo dos anos, percebi que o que mais me atrasava no desenvolvimento de plugins para WordPress não era escrever o código em si, mas sim as tarefas repetitivas: configurar a estrutura inicial, atualizar versões em vários ficheiros, criar symlinks e gerir commits.
Para resolver isto, criei um conjunto de ferramentas que hoje partilho publicamente. Neste artigo, vou mostrar-te como podes usar estes recursos para saltar a parte chata e ir direto ao que interessa.
Passo 1: Escolher a fundação do projeto
O primeiro passo depende do que estou a construir. Uso o comando npx para garantir que tenho sempre a versão mais recente das ferramentas sem precisar de instalar nada globalmente.
Se o foco forem Blocos Gutenberg
Quando preciso de criar um bloco moderno, utilizo a ferramenta oficial do WordPress, mas com uma variante dinâmica:
npx @wordpress/create-block@latest meu-plugin --variant=dynamic
cd meu-plugin
Se o foco for um Plugin PHP Tradicional
Para projetos onde a lógica é baseada em PHP, uso o meu próprio template:
npx @carmopereira/wp-php-template
cd meu-plugin
Uma nota importante sobre o Scaffolding: Normalmente, recomenda-se o uso do WP-CLI para gerar a base de um plugin. No entanto, o WP-CLI exige que tenhas o core do WordPress instalado algumas pastas acima para funcionar. O meu comando
npxé totalmente independente: ele gera os ficheiros iniciais sem precisar que o WordPress esteja instalado no teu ambiente local, o que dá muito mais liberdade.
Passo 2: Adicionar funcionalidades e scripts ao nosso projeto
Depois de ter a estrutura base, o passo seguinte é injetar o “motor” de produtividade. É aqui que entra o meu segundo pacote, o @carmopereira/wp-plugin-addons.
Dentro da pasta do plugin, corro:
npx @carmopereira/wp-plugin-addons
Este comando adiciona automaticamente uma série de scripts ao projeto que resolvem os meus maiores problemas de workflow:
- Sincronização Automática: Nunca mais preciso de mudar manualmente a versão do plugin no ficheiro PHP e no
package.json. O script trata disso por mim em cada build. - Ambiente de Desenvolvimento Local: Uso o comando
npm run symlinkpara criar um atalho do meu projeto diretamente na pasta de plugins do meu WordPress local. - Gestão de Git: O comando
npm run updateGITguia-me através de um processo simples para adicionar, commitar e enviar o código para o repositório.
O meu fluxo de trabalho diário
Com estas ferramentas configuradas, o meu dia a dia resume-se a três comandos simples:
npm start: Para ver as alterações em tempo real.npm run build: Para gerar a versão final do plugin com a versão já atualizada.npm run updateGIT: Para guardar o progresso e fazer o deploy do código.
Pensar no Futuro (Publicação no WordPress.org)
Se o teu objetivo for publicar o plugin no repositório oficial do WordPress, o meu template dá-te o ponto de partida ideal. No entanto, não te esqueças que, mais tarde, terás de organizar pastas específicas exigidas por eles:
/assets: Onde ficam os screenshots, ícones e banners que aparecem na página do plugin./languages: Para os ficheiros de localização e traduções.
O meu fluxo permite-te focar na lógica agora e adicionar estes requisitos de publicação apenas quando o plugin estiver maduro.
Conclusão
Criei estas ferramentas para mim, mas acredito que podem ajudar qualquer pessoa que queira profissionalizar o seu processo de criação no WordPress. Menos tempo a configurar pastas e a editar headers significa mais tempo para criar funcionalidades incríveis.
Já experimentaste usar o NPM para gerir os teus plugins WordPress? Se usares estas ferramentas, diz-me o que achaste! >> [email protected]