SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
The Ultimate Guide to
Development in WordPress
Jackson Mafra
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
Agenda
PHP 7.3
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.
PHP 7.3
Profiling
X
Benchmarking
São diferentes
WordPress 5#novaVersao
A partir de 06 de
dezembro de 2018
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.
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.
Roadmap
a cada 3-4 mesesLançar uma nova
versão
a partir de 2007
Testar não é
opcional
#wordpres5
Se você não fizer os testes, as
coisas podem facilmente parar
de funcionar.
Gutenberg, o novo
editor do WordPress#changelog
#bigOne
O tema WordPress
Twenty Nineteen#changelog
#bigOne
Estrutura
WordpPress
AdminFront-end
PluginsTemas
Posts
Pages
Taxonomias
Organização
Ambiente
WordpPress
ProductionStaging
Containers
Virtual
Machines
Ambientes
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 ContinuaWordpPress
Integração ContinuaWordpPress
Sistema de controle de versão
Suíte de testes automatizada
Ferramentas de qualidade de código
Integração ContinuaWordpPress
WP-CLI
Integração ContinuaWordpPress
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 ContinuaWordpPress
PSR
#aboutTheCode
PHP-FIG
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.
PSRWordpPress
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).
PSRWordpPress
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 FIGWordpPress
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 StandardWordpPress
Use Tabs para Recuos
Espaços em branco em instruções condicionais e chamadas de função
...
PEAR Coding StandardWordpPress
Diferentes tipos
de arquivos no
WordPress
WordPress Core Files - Estes controlam como o WordPress funciona,
não editado, mas interessante e possivelmente útil para ler ou estudar.
CoreWordpPress
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.
CoreWordpPress
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.
CoreWordpPress
Arquivos de Inclusão - Arquivos PHP pequenos incluídos em arquivos
maiores aparecem nos arquivos Core, Theme e Plugin.
CoreWordpPress
Temas
Template tags são funções especiais que nos permitem obter facilmente
informações e conteúdo a partir do WordPress.
Temas - Template TagsWordpPress
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 TagsWordpPress
Tags condicionais são funções do WordPress que retornam verdadeiro
quando certas condições são atendidas.
Temas - Template TagsWordpPress
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()
TemasWordpPress
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()
Starter Theme
#temas
#theFirstStep
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 ThemeWordpPress
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 ThemeWordpPress
style.css
functions.php
index.php
Headers
Footers
Sidebars
Adicionando Áreas de Widget no WordPress
singular.php
single.php
Custom Templates
Temas - HierarquiaWordpPress
Complementar
#plugins
#theFirstStep
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.
PluginsWordpPress
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.
PluginsWordpPress
Não reinvente a
roda
#plugins
#sejaConciente
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 - HooksWordpPress
● 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ênciasWordpPress
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ênciasWordpPress
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ênciasWordpPress
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ênciasWordpPress
WP-CLI
https://wp-cli.org/
WordPress and PHP 7.3
https://make.wordpress.org/core/2018/10/15/wordpress-and-php-7-3/
Gutenberg
https://wordpress.org/gutenberg/handbook/
ReferênciasWordpPress
PHP Coding Standards
https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/
PHP-FIG
https://www.php-fig.org/
Pear Coding Standards
http://pear.php.net/manual/en/standards.php
Theme Frameworks
https://codex.wordpress.org/Theme_Frameworks
ReferênciasWordpPress
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ênciasWordpPress
Actions
https://codex.wordpress.org/Glossary#Action
Filtros
https://codex.wordpress.org/Glossary#Filter
https://codex.wordpress.org/Plugin_API/Filter_Reference
Difference between Benchmarking and Profiling
https://stackoverflow.com/questions/34801622/difference-between-benchmarking-and-profili
ng
ReferênciasWordpPress
Obrigado

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
 
Treinamento 20130914
Treinamento 20130914Treinamento 20130914
Treinamento 20130914
 
Melhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressMelhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPress
 
Hierarquia de templates WordPress
Hierarquia de templates WordPressHierarquia de templates WordPress
Hierarquia de templates WordPress
 
Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
 
Html5 Aula 6
Html5 Aula 6Html5 Aula 6
Html5 Aula 6
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Html5 Aula 5
Html5 Aula 5Html5 Aula 5
Html5 Aula 5
 
E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)
 
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBHTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
 
apresentacao e instalacao do Joomla3
apresentacao e instalacao do Joomla3apresentacao e instalacao do Joomla3
apresentacao e instalacao do Joomla3
 
#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5
 
Html 5 e Css3
Html 5 e Css3Html 5 e Css3
Html 5 e Css3
 
Curso de Desenvolvimento de Sistemas Web - (X)HTML
Curso de Desenvolvimento de Sistemas Web - (X)HTMLCurso de Desenvolvimento de Sistemas Web - (X)HTML
Curso de Desenvolvimento de Sistemas Web - (X)HTML
 
Programação Web com HTML e CSS
Programação Web com HTML e CSSProgramação Web com HTML e CSS
Programação Web com HTML e CSS
 
Montando sites com XHTML e CSS utilizando os padrões web
Montando sites com XHTML e CSS utilizando os padrões webMontando sites com XHTML e CSS utilizando os padrões web
Montando sites com XHTML e CSS utilizando os padrões web
 
Apresentacao Ondaweb 2010
Apresentacao Ondaweb 2010Apresentacao Ondaweb 2010
Apresentacao Ondaweb 2010
 
Introdução ao Github actions - TDC Connections
Introdução ao Github actions - TDC ConnectionsIntrodução ao Github actions - TDC Connections
Introdução ao Github actions - TDC Connections
 
Ferramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento WebFerramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento Web
 
HTML5
HTML5HTML5
HTML5
 

Semelhante a The Ultimate Guide to Development in WordPress

Semelhante a The Ultimate Guide to Development in WordPress (20)

Boas Práticas de programação WordPress
Boas Práticas de programação WordPressBoas Práticas de programação WordPress
Boas Práticas de programação WordPress
 
Word camp sp 2017 willian marques
Word camp sp 2017   willian marquesWord camp sp 2017   willian marques
Word camp sp 2017 willian marques
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
 
Performance e otimização no wordpress
Performance e otimização no wordpressPerformance e otimização no wordpress
Performance e otimização no wordpress
 
Como desenvolver um tema wordpress de A a Z
Como desenvolver um tema wordpress de A a ZComo desenvolver um tema wordpress de A a Z
Como desenvolver um tema wordpress de A a Z
 
Gestão de conteúdos com aplicações instaladas em servidores
Gestão de conteúdos com aplicações instaladas em servidoresGestão de conteúdos com aplicações instaladas em servidores
Gestão de conteúdos com aplicações instaladas em servidores
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop Magento
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
marketing digital aula 6
marketing digital aula 6marketing digital aula 6
marketing digital aula 6
 
Otimização Front-end para WordPress
Otimização Front-end para WordPressOtimização Front-end para WordPress
Otimização Front-end para WordPress
 
Traduções no WordPress
Traduções no WordPressTraduções no WordPress
Traduções no WordPress
 
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugin...
 
A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Introdução ao Wordpress
Introdução ao WordpressIntrodução ao Wordpress
Introdução ao Wordpress
 
Wordpress
WordpressWordpress
Wordpress
 
Palestra ferramentas de administraao sgbd
Palestra   ferramentas de administraao sgbdPalestra   ferramentas de administraao sgbd
Palestra ferramentas de administraao sgbd
 
Wordpress
WordpressWordpress
Wordpress
 
Cake Php
Cake PhpCake Php
Cake Php
 
Nodejs justdigital
Nodejs justdigitalNodejs justdigital
Nodejs justdigital
 

Mais de Jackson F. de A. Mafra

Mais de Jackson F. de A. Mafra (20)

PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...
 
PHP SSO no Zentyal
PHP SSO no ZentyalPHP SSO no Zentyal
PHP SSO no Zentyal
 
Phprs meetup - deploys automatizados com gitlab
Phprs   meetup - deploys automatizados com gitlabPhprs   meetup - deploys automatizados com gitlab
Phprs meetup - deploys automatizados com gitlab
 
O que você precisa saber sobre chatbots
O que você precisa saber sobre chatbotsO que você precisa saber sobre chatbots
O que você precisa saber sobre chatbots
 
WCPOA2019 - WordPress como um backend de seus aplicativos
WCPOA2019  - WordPress como um backend de seus aplicativosWCPOA2019  - WordPress como um backend de seus aplicativos
WCPOA2019 - WordPress como um backend de seus aplicativos
 
WordPress como um backend de seus aplicativos
WordPress como um backend de seus aplicativosWordPress como um backend de seus aplicativos
WordPress como um backend de seus aplicativos
 
Precisamos de um barco maior introdução ao dimensionamento de aplicações
Precisamos de um barco maior introdução ao dimensionamento de aplicaçõesPrecisamos de um barco maior introdução ao dimensionamento de aplicações
Precisamos de um barco maior introdução ao dimensionamento de aplicações
 
Hangout Tempo Real Eventos - ChatOps (ChatBots e DevOps) - Como bots podem ...
Hangout  Tempo Real Eventos - ChatOps (ChatBots e DevOps)  - Como bots podem ...Hangout  Tempo Real Eventos - ChatOps (ChatBots e DevOps)  - Como bots podem ...
Hangout Tempo Real Eventos - ChatOps (ChatBots e DevOps) - Como bots podem ...
 
Hangout Tempo Real Eventos - Android - Os primeiros passos do desenvolviment...
Hangout  Tempo Real Eventos - Android - Os primeiros passos do desenvolviment...Hangout  Tempo Real Eventos - Android - Os primeiros passos do desenvolviment...
Hangout Tempo Real Eventos - Android - Os primeiros passos do desenvolviment...
 
Hangout Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout  Tempo Real Eventos - Javascript - Os Primeiros PassosHangout  Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout Tempo Real Eventos - Javascript - Os Primeiros Passos
 
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout  Tempo Real Eventos - Nodejs - Os Primeiros PassosHangout  Tempo Real Eventos - Nodejs - Os Primeiros Passos
Hangout Tempo Real Eventos - Nodejs - Os Primeiros Passos
 
Desmistificando o DialogFlow
Desmistificando o DialogFlowDesmistificando o DialogFlow
Desmistificando o DialogFlow
 
ChatOps (ChatBots + DevOps)
ChatOps (ChatBots + DevOps) ChatOps (ChatBots + DevOps)
ChatOps (ChatBots + DevOps)
 
Conexao kinghost - Vendas inteligentes com intelibots
Conexao kinghost - Vendas inteligentes com intelibotsConexao kinghost - Vendas inteligentes com intelibots
Conexao kinghost - Vendas inteligentes com intelibots
 
WoMakersCode 2016 - Shit Happens
WoMakersCode 2016 -  Shit HappensWoMakersCode 2016 -  Shit Happens
WoMakersCode 2016 - Shit Happens
 
Phalcon 2 High Performance APIs - DevWeekPOA 2015
Phalcon 2 High Performance APIs - DevWeekPOA 2015Phalcon 2 High Performance APIs - DevWeekPOA 2015
Phalcon 2 High Performance APIs - DevWeekPOA 2015
 
Dev Heroes
Dev HeroesDev Heroes
Dev Heroes
 
Trilha Android - Android Evolved
Trilha Android - Android EvolvedTrilha Android - Android Evolved
Trilha Android - Android Evolved
 
TDC 2015 - POA - Trilha PHP - Shit Happens
TDC 2015 - POA - Trilha PHP - Shit HappensTDC 2015 - POA - Trilha PHP - Shit Happens
TDC 2015 - POA - Trilha PHP - Shit Happens
 
Material design
Material designMaterial design
Material design
 

The Ultimate Guide to Development in WordPress