Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desenvolvimento moderno de plugins para WordPress

Desenvolvimento moderno de plugins para WordPress

Claudio Sanches

May 28, 2020
Tweet

More Decks by Claudio Sanches

Other Decks in Programming

Transcript

  1. Desenvolvimento moderno
    de plugins para WordPress
    58º Meetup WordPress Curitiba
    Por Claudio Sanches

    View full-size slide

  2. Sobre o palestrante
    Claudio Sanches é desenvolvedor de software, contribui hoje com diversos
    projetos open source, possuindo mais de 40 plugins no repositório oficial do
    WordPress. É também um dos gerentes de localização do WordPress em
    Português do Brasil, administrador do fórum brasileiro do WordPress e trabalha na
    Automattic (empresa por trás do WordPress.com) no núcleo do WooCommerce.

    View full-size slide

  3. O que é um
    plugin no
    WordPress?
    Um plugin é um pacote de código
    que amplia as funcionalidades do
    WordPress.

    View full-size slide

  4. Temas ou plugins?
    Existem diversas formas de estender e criar funcionalidades adicionais para o
    WordPress, até mesmo adicionando através de temas, o que não é o
    recomendado.
    Temas devem cuidar apenas do visual de um site, deixando a responsabilidade de
    introduzir ou alterar recursos do WordPress para os plugins.

    View full-size slide

  5. Criando um plugin você é capaz de:
    ● Desacoplar e modularizar os componentes do seu projeto.
    ● Reaproveitar código entre projetos.
    ● Depurar (debug) problemas facilmente, basta desativar e ativar.
    ● Diminuir quantidade de retrabalho ao atualizar o visual de um site.

    View full-size slide

  6. Criar um plugin é simples!
    Basta criar um arquivo PHP dentro da pasta wp-content/plugins com um
    cabeçalho indicando o nome do plugin.

    View full-size slide

  7. Dependências

    View full-size slide

  8. É o básico, mas vamos rever!
    ● Ambiente local de desenvolvimento com WordPress instalado
    ● Composer
    ● Node.js e NPM (ou Yarn)
    ● GIT (e uma conta no GitHub)

    View full-size slide

  9. Ferramentas para desenvolvimento

    View full-size slide

  10. WP-CLI
    Cria a estrutura inicial de um plugin e arquivos de
    configurações para o PHP CodeSniffer e o PHPUnit.

    View full-size slide

  11. Ferramentas para PHP
    Dependencias do “wp scaffold plugin”.
    Nota: O pacote de testes do WordPress funciona
    apenas com PHPUnit 7.x

    View full-size slide

  12. WordPress
    Scripts
    Inclui ao seu plugin um conjunto
    de pacotes para validação, testes
    unitários, testes end-to-end e
    mais.

    View full-size slide

  13. Ganchos para
    GIT (GIT hooks)
    husky combinado com
    lint-staged, @wordpress-actions
    e PHP_CodeSniffer

    View full-size slide

  14. Lançamento / publicação

    View full-size slide

  15. GitHub Actions
    Deploys automatizados e mais.

    View full-size slide

  16. Referências e links
    ● Manual oficial de desenvolvimento de plugins do WordPress (em inglês).
    ● Manual de instalação do WP-CLI (em inglês).
    ● Comandos do WP-CLI (em inglês).
    ● Pacote do Composer para verificar padrões de código no WordPress.
    ● Pacote do Composer para verificar compatibilidade com versões do WP.
    ● Manual do PHPUnit 7.5 (em inglês).
    ● Pacote de scripts do WordPress.
    ● Documentaçao do Jest (em inglês).
    ● Documentação do Puppeteer (em inglês).
    ● Documentação do Husky (em inglês).

    View full-size slide

  17. Referências e links
    ● Documentação do lint-staged (em inglês).
    ● Documentação do GitHub Actions (quase em Português ).
    ● Marketplace de Actions do GitHub.
    ● GitHub Actions para projetos com WordPress.

    View full-size slide

  18. Material de apoio
    ● Repositório do GitHub com exemplos.

    View full-size slide

  19. Licença
    Este trabalho é de domínio público, licenciado com CC0 1.0 Universal (CC0 1.0).

    View full-size slide