Plugin destinado a ser usado como boilerplate, ele irá ser usado principalmente quando surgir a necessidade de criar um plugin WordPress do zero, mas com uma estrutura já bem definida, pronto para testes unitários, linter + analisador estático de código e com container de injeção de dependência.
- PHP >= 7.3
- Composer
Este projeto tem uma action do semantic release, que a cada push no branch master ela roda para verificar se será necessário gerar um novo release, para isso ele percorre os commits verificando se está no padrão Conventional Commit.
Importante: Quando for fazer squash dos commits, será necessário alterar a mensagem do squash para o padrão Conventional Commit, caso isso não seja feito, o release não será gerado automaticamente.
- Entre em wp-content/plugins.
- Execute
composer create-project personare/plugin-boilerplate nome-do-seu-novo-plugin. - Renomeie as strings.
- Ative o seu novo plugin.
Renomeie todas as strings abaixo para algo que faça sentido para o projeto que está a desenvolver.
MY_APP_MyAppmy-appplugin-boilerplateGPL-2.0-only
composer ciirá executar todos os scripts importantes para o CI, consulte ocomposer.jsoncaso queira roda-los individualmente;yarn lintirá executar o linter para JavaScript + SASS;yarn buildcomando para gerar os bundles;
- Em Preferences -> Tools -> External Tools clique para adicionar uma nova tool. Coloque o nome que achar melhor, selecione
run_phan.shscript como "Program" e selecione o diretório do projeto como "Working directory" e por ultimo coloque$FILE_PATH$:$LINE$como "Output filters" clicando em "Advanced Options". Você consegue executarexternal toolsem Tools -> External Tools.
Caso dê algum erro de permissão, execute chmod +x run_phan.sh no seu terminal.
Consulte os arquivos dentro de src/WordPress/, lá vai encontrar bons exemplos de como declarar hooks nesta estrutura,
caso queira registrar um CPT consulte src/WordPress/Services/ExampleServiceProvider.php ou se caso quer registrar uma
Taxonomia, então consulte src/WordPress/Services/ExampleCategoryServiceProvider.php