1. Leo Baiano
#WebDev para pagar as
contas
Músico quando estou bêbado
Poeta por vocação
Romântico de nascença
FAZEDOR DE SLIDES nas
horas vagas
Pode não parecer, mas
ESTE CARA SOU EU
2. Coisas que eu gostaria de
saber antes de trabalhar com
Joomla!
… isso mesmo que você ouviu, Joomla!
6. - Prazo curto
- Pode bugar outras áreas
- Tá funcionando, segue o fluxo
- Não fui eu
- Leo dá uma olhada nisso aqui - (15 em cada 10 atendimentos usam essa)
Não seja preguiçoso
7. É importante ler a
documentação das funções
https://codex.wordpress.org/
9. A query padrão do WordPress
O que é uma query?
Traduzindo para o português query significa consulta. No universo do desenvolvimento
uma query é o conjunto de instruções utilizadas para fazer uma consulta por informações
armazenadas em um banco de dados.
Exemplo:
"SELECIONE todos os campos da tabela ALUNOS" - pt_BR
"SELECT * FROM ALUNOS" - MySQL
11. A query padrão do WordPress
No desenvolvimento de temas você dificilmente vai precisar escrever uma query,
o WordPress é bonzinho e faz isso para você.
A query é gerada com base na página acessada através de parâmetros que são
passados de forma mágica para que você não precise se preocupar. :D
15. Hierarquia de modelos do
WordPress
https://codex.wordpress.org/pt-br:Hierarquia_de_Modelos_WordPress
16. Exemplos
Página Inicial (Home)
home.php
index.php
Post único
single-{post_type}.php
single.php
index.php
Categoria
category-{slug}.php
category-{id}.php
category.php
archive.php
index.php
Exemplos
Página
modelo de página
page-{slug}.php
page-{id}.php
page.php
index.php
Taxonomias Personalizadas
taxonomy-{taxonomia}-{termo}.php
taxonomy-{taxonomia}.php
taxonomy.php
archive.php
index.php
Hierarquia de modelos do WordPress
17. Nos modelos do tema do seu site você, normalmente, não precisa de multiplos
loops ou modificações no loop principal, mas caso seja necessário opte sempre
por pre_get_posts() ou WP_Query();
WP_Query(); permite que você informe argumentos para realizar uma query e
trazer os posts que deseja para montar seu segundo loop.
Hierarquia de modelos do WordPress
19. Deixando o site ou plugin pronto para
internacionalização
Quando estamos desenvolvendo um site nem todo conteúdo vem do banco de
dados, algumas strings (texto) são impressas diretamente no arquivo de
modelo.
Exemplos de strings que são impressas no arquivo:
Botões, label e placeholder de campos de formulário, títulos e âncoras de links...
20. Funções para internacionalização
Deixando o site ou plugin pronto para
internacionalização
https://codex.wordpress.org/L10n
http://seusobrinho.com.br/blog/funcoes-de-internacionalizacao-do-wordpress/
22. Hooks: Actions and Filters
Actions e filters são ganchos inseridos no core do WordPress para que os
desenvolvedores possam modificar o comportamento e a resposta das funções
ou disparar ações em momentos específicos.
Actions - Disparam ações
Filters - Modificam o comportamento e resposta
23. Exemplos de action
- Enviar e-mail para um determinados usuários sempre que um novo post for
cadastrado;
- Verificar se existem imagens associadas e deleta-las sempre que um post
for deletado
- Exibir um aviso sempre que determinado usuário fizer login
Hooks: Actions e Filters
24. Exemplos de filter
- Modificar o conteúdo do post ou título para inserir um rodapé por exemplo.
- Incluir classes personalizadas na tag <body>
- Alterar textos da tela de login
Hooks: Actions e Filters
26. Para a mágica funcionar
todos os detalhes são
importantes
Detalhes fazem a diferença, detalhes fazem TODA diferença
27. O core do WordPress mostrava:
add_action( 'transition_post_status', 'post_unpublished', 10, 3 );
Eu esqueci da regra de ouro NÃO SEJA PREGUIÇOSO;
Eu esqueci que É IMPORTANTE LER A DOCUMENTAÇÃO
E EU ME FUDI!
Detalhes fazem a diferença
29. Classes para estilo CSS
body_class();
class="page page-id-2 page-parent page-template-default logged-in"
post_class();
class="post post-4564 category-48 category-dancing logged-in"
30. Você pode fazer quase tudo
com o que o WP lhe trás
pronto
Cavalo dado não se olha os dentes
31. Cavalo dado não se olha os dentes
Quase tudo no WordPress é um post, então quando for fazer plugin pense nisso
e se aproveite disso. A maioria dos plugins só precisa de alguns CPTs, então
quando for criar seu plugin chame os posts pra dançar, abrace eles com carinho,
fale baixinho em seu ouvido e garanta um final feliz.
32. Enviando e-mail do plugin ou Tema
wp_mail();
O WordPress já tem uma função para envio de e-mail, não precisa criar sua
própria função no tema ou plugin.
https://developer.wordpress.org/reference/functions/wp_mail/
33. Ler dados de API
wp_remote_post(); e wp_remote_get();
As duas funções recebem 2 parâmetros, a URL do endpoint que deseja ler e os
argumentos, e retorna um array com o cabeçalho e conteúdo.
https://codex.wordpress.org/Function_Reference/wp_remote_post
https://codex.wordpress.org/Function_Reference/wp_remote_get
34. Verifica usuário logado e redireciona
auth_redirect();
Essa função verifica se o usuário está logado e caso não esteja ela redireciona
ele para a página de login. Ela guarda a página que o usuário tentou acessar e
redireciona ele de volta para ela quando ele faz o login.
Esqueci dessa função ontem!