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

The Ultimate Guide to Development in WordPress

The Ultimate Guide to Development in WordPress

O titulo é click bait mas a talk não. Todo mundo que se encanta pelo WordPress, e quer começar a desenvolver, principalmente se vem de outras linguagens, fica na dúvida; posso usar namespaces? Autoload? Usar WordPress Coding Standards ou PSRs?
Quando usar um Plugin e quando fazer meu código? O que é do tema e o que é do Plugin?

Jackson F. de A. Mafra

December 07, 2018
Tweet

More Decks by Jackson F. de A. Mafra

Other Decks in Programming

Transcript

  1. Quem sou eu? Oi! Eu sou o Jackson! Eu gosto

    de me descrever como desenvolvedor e líder técnico, com um conhecimento muito forte em desenvolvimento web e móvel. Desde 1998 desenvolvo websites e aplicações web, mas em 2009 mudei minha carreira para o desenvolvimento mobile. JACKSON FERREIRA DE ANDRADE MAFRA
  2. PHP 7.3 Besides continuing to evolve the performance of PHP7,

    the PHP 7.3 release is also delivering on FFI (the Foreign Function Interface) to access functions / variables / data structures from the C language, a platform-independent manner for obtaining information on network interfaces, an is_countable() call, WebP support within GD's image create from string, updated SQLite support, improved PHP garbage collection performance, and many other enhancements. PHP 7.3 is just shy of 10% faster than PHP 7.2 in the popular PHPBench. PHP 7.3 is 31% faster than PHP 7.0 or nearly 3x the speed of PHP5.
  3. WordPress 5.0 Se você ignorou todas as outras atualizações este

    ano, agora é a hora de dar uma olhada e esta é a maior atualização para 2018. O WordPress está reformulando completamente como os usuários e desenvolvedores usam o CMS com seu novo editor Gutenberg. Agora é tudo sobre blocos. Também temos um novo tema Twenty Nineteen, que é o padrão em novas instalações.
  4. WordPress 5.0 Se você ignorou todas as outras atualizações este

    ano, agora é a hora de dar uma olhada e esta é a maior atualização para 2018. O WordPress está reformulando completamente como os usuários e desenvolvedores usam o CMS com seu novo editor Gutenberg. Agora é tudo sobre blocos. Também temos um novo tema Twenty Nineteen, que é o padrão em novas instalações.
  5. Testar não é opcional #wordpres5 Se você não fizer os

    testes, as coisas podem facilmente parar de funcionar.
  6. A integração contínua procura minimizar o trabalho necessário para manter

    um código de alta qualidade. A maneira como isso é feito é automatizar o maior número possível de processos. Na verdade, um cenário ideal de integração contínua não possui processos manuais. Integração Continua WordpPress
  7. Sistema de controle de versão Suíte de testes automatizada Ferramentas

    de qualidade de código Integração Continua WordpPress
  8. O scaffold do WP-CLI é capaz de configurar um fluxo

    de trabalho inicial de integração contínua para você. Ele pode fazer isso não apenas para configurar testes para um plugin, mas também para configurar testes para um tema. Integração Continua WordpPress
  9. As PSR (do inglês PHP Standards Recommendation) são especificações de

    projetos propostos pelo PHP-FIG (PHP Framework Interop Group), um grupo composto por representantes de expressivos projetos em PHP. Esses padrões tem como objetivo facilitar a reutilização de código entre os diversos projetos que implementem determinado padrão. PSR WordpPress
  10. PSRs para implementações de autoload (PSR-0 e PSR-4), sugestões de

    estilos de código, como posição de chaves, indentação (Usar tabulações ou espaços?) (PSR-1 e PSR-2). PSR WordpPress
  11. O PHP Framework Interoperability Group é um grupo formado por

    membros com poder de voto e que representam frameworks PHP e membros não votantes que podem participar PHP FIG WordpPress
  12. Como não há desenvolvedores do WordPress participando do PHP-FIG, os

    padrões de codificação seguem uma mentalidade diferente daquela do PSR. PEAR Coding Standard WordpPress
  13. Use Tabs para Recuos Espaços em branco em instruções condicionais

    e chamadas de função ... PEAR Coding Standard WordpPress
  14. WordPress Core Files - Estes controlam como o WordPress funciona,

    não editado, mas interessante e possivelmente útil para ler ou estudar. Core WordpPress
  15. Arquivos de tema do WordPress - controlam como os temas

    funcionam e exibem o conteúdo. Quando você estiver criando ou personalizando um tema filho, você definitivamente editará esses arquivos. Core WordpPress
  16. Arquivos de Plugin WordPress - Estes são usados na criação

    de plugins. Se você estiver escrevendo seu próprio plugin ou estendendo outro plugin, você editará esses arquivos, mas geralmente não editará diretamente o código de outro plugin. Core WordpPress
  17. Arquivos de Inclusão - Arquivos PHP pequenos incluídos em arquivos

    maiores aparecem nos arquivos Core, Theme e Plugin. Core WordpPress
  18. Template tags são funções especiais que nos permitem obter facilmente

    informações e conteúdo a partir do WordPress. Temas - Template Tags WordpPress
  19. get_header() get_footer() get_sidebar() get_template_part() wp_login_form() bloginfo() the_title() get_the_title() the_content() the_author()

    the_category() the_tags() comment_author() the_post_thumbnail() the_permalink() edit_post_link() site_url() wp_nav_menu() Temas - Template Tags WordpPress
  20. Tags condicionais são funções do WordPress que retornam verdadeiro quando

    certas condições são atendidas. Temas - Template Tags WordpPress
  21. is_front_page() is_home() is_admin() is_single() is_single( 'slug' ) is_single( [ 'slug-1',

    'slug-2', 'slug-3' ] ) is_singular() get_post_type() has_excerpt() Temas WordpPress is_page() is_page( 'slug' ) is_page( [ 'slug-1', 'slug-2', 'slug-3' ] ) is_page_template( 'custom.php' ) comments_open() is_category() is_tag() is_archive() in_the_loop()
  22. Um Tema Starter inclui arquivos e funções úteis para criar

    temas a partir do zero. Você costuma editar temas iniciais diretamente, sem usar temas filhos. Temas - Starter Theme WordpPress
  23. Um tema filho permite que você substitua outro tema (tema

    pai) sem fazer alterações diretas que são perdidas durante as atualizações. Temas - Child Theme WordpPress
  24. style.css functions.php index.php Headers Footers Sidebars Adicionando Áreas de Widget

    no WordPress singular.php single.php Custom Templates Temas - Hierarquia WordpPress
  25. Plugins WordPress são complementos que agregam ou modificam funcionalidades em

    um site WordPress. Estas ferramentas oferecem funções para que cada usuário possa personalizar seu website WP atendendo as necessidades do projeto. Plugins WordpPress
  26. Exemplo: O WordPress não oferece uma ferramenta nativa que faça

    análise de SEO. Para sanar essa necessidade é preciso instalar um plugin como o Yoast SEO, está implementação supre certos focos estratégicos do marketing digital dos conteúdos postados. Plugins WordpPress
  27. Os ganchos (Hooks) permitem que você adicione código personalizado ao

    software existente. Dois tipos de ganchos existem no WordPress: Ganchos de ação (Action Hooks) permitem que você execute seu próprio código quando certos eventos ocorrem no ciclo de execução do WordPress. Ganchos de filtro (Filter Hooks) permitem modificar como o conteúdo é exibido em uma página ou salvo no banco de dados. Temas / Plugins - Hooks WordpPress
  28. • API de configurações • Opções avançadas de wp-config •

    Entendendo e Personalizando o Loop • Escalabilidade e ajuste de desempenho • Operações de banco de dados, consultas e erros • Estrutura de Conteúdo e Hierarquia para Websites maiores • Redirecionamentos e .htaccess • Soluções Avançadas de Spam • Segurança, SSL e Hardening • Soluções OpenID e OAuth • Regras claras para lidar com conteúdo duplicado • Cache e IPv6 Referências WordpPress
  29. Benchmarking and PHPBench https://www.slideshare.net/dantleech/benchmarking-and-phpbench PHP 7.3 Performance Benchmarks Are Looking

    Good Days Ahead Of Its Release https://developers.slashdot.org/story/18/11/24/2352226/php-73-performance-benchmarks-are-l ooking-good-days-ahead-of-its-release PHP 7 ChangeLog http://php.net/ChangeLog-7.php#7.3.0 PHP 7.3.0 Released http://news.php.net/php.internals/103558 Roadmap https://wordpress.org/about/roadmap/ Referências WordpPress
  30. WordPress 5.0 https://br.wordpress.org/2018/12/06/wordpress-5-0-bebo/ Bebo Valdes https://en.wikipedia.org/wiki/Bebo_Vald%C3%A9s O Que Há de

    Novo no WordPress 5.0 – Olá Gutenberg! https://kinsta.com/pt/blog/wordpress-5-0/ Matthew Mullenweg https://ma.tt/ VM - Vagrant - SCOTCH BOX https://box.scotch.io/ Referências WordpPress
  31. Docker https://hub.docker.com/_/wordpress/ https://docs.docker.com/compose/wordpress/#build-the-project Continuous Integration for WordPress https://medium.com/@joshcummingsdesign/continuous-integration-for-wordpress-595f4f38 2f42 Grumphp

    https://github.com/phpro/grumphp GETTING STARTED WITH CONTINUOUS INTEGRATION AND WORDPRESS https://carlalexander.ca/continuous-integration-wordpress/ Referências WordpPress
  32. Usando Plugins https://codex.wordpress.org/pt-br:Usando_Plugins Escrevendo um Plugin https://codex.wordpress.org/pt-br:Escrevendo_um_Plugin Recursos do Plugin

    https://codex.wordpress.org/Plugin_Resources Plugin API https://codex.wordpress.org/Plugin_API Blindando o WordPress https://codex.wordpress.org/pt-br:Blindando_o_WordPress Referências WordpPress