SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
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
Coisas que eu gostaria de
saber antes de trabalhar com
Joomla!
… isso mesmo que você ouviu, Joomla!
Esqueça o Joomla!
Joomla! é legalzinho, mas você já ouviu falar de WordPress?
Coisas que eu gostaria de
saber antes de começar a
desenvolver temas e plugins
para WordPress
… uma palestra sobre mágica
Não seja preguiçoso
A regra de ouro!
- 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
É importante ler a
documentação das funções
https://codex.wordpress.org/
Como funciona a query
padrão do WordPress
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
Como escrevo
minhas querys
no WordPress?
mistério!!!
Não escreve
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
Como modificar
corretamente a query
padrão do WordPress?
Ajude as fadinhas
… não use query_posts( );
pre_get_posts();
Preguetinho
para os íntimos.
Hierarquia de modelos do
WordPress
https://codex.wordpress.org/pt-br:Hierarquia_de_Modelos_WordPress
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
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
Deixando o site ou plugin
pronto para
internacionalização
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...
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/
Hooks: Actions and Filters
A varinha mágica do desenvolvedor WordPress
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
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
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
add_action( string $tag, callable $function_to_add, int $priority = 10,int
$accepted_args = 1 );
https://developer.wordpress.org/reference/functions/add_action/
add_filter( string $tag, callable $function_to_add, int $priority = 10,int
$accepted_args = 1 );
https://developer.wordpress.org/reference/functions/add_filter/
Hooks: Actions e Filters
Para a mágica funcionar
todos os detalhes são
importantes
Detalhes fazem a diferença, detalhes fazem TODA diferença
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
O WordPress imprimi
classes nos elementos
HTML
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"
Você pode fazer quase tudo
com o que o WP lhe trás
pronto
Cavalo dado não se olha os dentes
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.
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/
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
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!
Senta aqui, vamos conversar!

Mais conteúdo relacionado

Mais procurados

Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIRafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIWordPress Floripa
 
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLIWordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLIRafael Funchal
 
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...Bruno Rodrigo S. Souza
 
WordPress como CMS
WordPress como CMSWordPress como CMS
WordPress como CMSleogermani
 
SEO para WordPress - Palestra WordCamp 2017
SEO para WordPress - Palestra WordCamp 2017SEO para WordPress - Palestra WordCamp 2017
SEO para WordPress - Palestra WordCamp 2017Denis Andrade
 
Instalando Drupal, Começando do Começo
Instalando Drupal, Começando do ComeçoInstalando Drupal, Começando do Começo
Instalando Drupal, Começando do Começosauloamui
 
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.WordPress Multisite: Desenvolvendo Portais com Sites Interligados.
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.Nícholas André
 
Wordpress - Mais que um gerenciador de blogs, um CMS completo!
Wordpress - Mais que um gerenciador  de blogs, um CMS completo!Wordpress - Mais que um gerenciador  de blogs, um CMS completo!
Wordpress - Mais que um gerenciador de blogs, um CMS completo!Walter Araujo dos Santos
 
Quem tem medo do terminal?
Quem tem medo do terminal?Quem tem medo do terminal?
Quem tem medo do terminal?Rafael Funchal
 
Apresentação sobre Drupal
Apresentação sobre DrupalApresentação sobre Drupal
Apresentação sobre DrupalWebdrop
 
WordPress Multisite: O que são, onde vivem, do que se alimentam?
WordPress Multisite: O que são, onde vivem, do que se alimentam?WordPress Multisite: O que são, onde vivem, do que se alimentam?
WordPress Multisite: O que são, onde vivem, do que se alimentam?Rudá Almeida
 
Wordpress e suas funções
Wordpress e suas funçõesWordpress e suas funções
Wordpress e suas funçõesDaniel Marcos
 
Formação WordPress
Formação WordPressFormação WordPress
Formação WordPressvaleriovaz
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQuality Press
 
Oficina Sexshop Virtual
Oficina Sexshop VirtualOficina Sexshop Virtual
Oficina Sexshop VirtualATENAS CONSULT
 

Mais procurados (19)

Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIRafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
 
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLIWordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
 
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
Palestra WordCamp RJ 2016 Configure um servidor Nginx de alta performance par...
 
WordPress como CMS
WordPress como CMSWordPress como CMS
WordPress como CMS
 
SEO para WordPress - Palestra WordCamp 2017
SEO para WordPress - Palestra WordCamp 2017SEO para WordPress - Palestra WordCamp 2017
SEO para WordPress - Palestra WordCamp 2017
 
Instalando Drupal, Começando do Começo
Instalando Drupal, Começando do ComeçoInstalando Drupal, Começando do Começo
Instalando Drupal, Começando do Começo
 
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.WordPress Multisite: Desenvolvendo Portais com Sites Interligados.
WordPress Multisite: Desenvolvendo Portais com Sites Interligados.
 
Wordpress - Mais que um gerenciador de blogs, um CMS completo!
Wordpress - Mais que um gerenciador  de blogs, um CMS completo!Wordpress - Mais que um gerenciador  de blogs, um CMS completo!
Wordpress - Mais que um gerenciador de blogs, um CMS completo!
 
WordPress
WordPressWordPress
WordPress
 
Quem tem medo do terminal?
Quem tem medo do terminal?Quem tem medo do terminal?
Quem tem medo do terminal?
 
Apresentação sobre Drupal
Apresentação sobre DrupalApresentação sobre Drupal
Apresentação sobre Drupal
 
WordPress Multisite: O que são, onde vivem, do que se alimentam?
WordPress Multisite: O que são, onde vivem, do que se alimentam?WordPress Multisite: O que são, onde vivem, do que se alimentam?
WordPress Multisite: O que são, onde vivem, do que se alimentam?
 
Joomla desenvolvimento
Joomla desenvolvimentoJoomla desenvolvimento
Joomla desenvolvimento
 
Wordpress e suas funções
Wordpress e suas funçõesWordpress e suas funções
Wordpress e suas funções
 
Formação WordPress
Formação WordPressFormação WordPress
Formação WordPress
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHP
 
Oficina Sexshop Virtual
Oficina Sexshop VirtualOficina Sexshop Virtual
Oficina Sexshop Virtual
 
Wordpress multisite
Wordpress multisiteWordpress multisite
Wordpress multisite
 
W2py pyconpe
W2py pyconpeW2py pyconpe
W2py pyconpe
 

Semelhante a Como funciona a query padrão do 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...Leo Baiano
 
Clean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalClean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalLeo Baiano
 
Aprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard BarrosAprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard BarrosRichard Barros
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
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 WordPressThiago Mendes
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Bruno Rocha
 
The Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressThe Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressJackson F. de A. Mafra
 
Joomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisJoomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisrafaelberlanda
 
Joomla possibilidades infinitas em CMS
Joomla   possibilidades infinitas em CMSJoomla   possibilidades infinitas em CMS
Joomla possibilidades infinitas em CMSFelipe Perin
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojofabioginzel
 
Aprenda Joomla! 1.5 fácil!
Aprenda Joomla! 1.5 fácil!Aprenda Joomla! 1.5 fácil!
Aprenda Joomla! 1.5 fácil!Jennifer Payne
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da ZendDomingos Teruel
 
WordPress SEO - SearchLabs 2010
WordPress SEO - SearchLabs 2010WordPress SEO - SearchLabs 2010
WordPress SEO - SearchLabs 2010Guga Alves
 
Workflow WordPress + JavaScript - WordCamp Rio
Workflow WordPress + JavaScript  - WordCamp RioWorkflow WordPress + JavaScript  - WordCamp Rio
Workflow WordPress + JavaScript - WordCamp RioFellyph Cintra
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitFlávio Lisboa
 
PHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraPHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraKleber Silva
 
Ebook - Processo de Otimização de Sites WordPress
Ebook - Processo de Otimização de Sites WordPressEbook - Processo de Otimização de Sites WordPress
Ebook - Processo de Otimização de Sites WordPressDaniel Paz
 
Wordpress - Gerenciamento de Blogs e sites - Aula 1
Wordpress - Gerenciamento de Blogs e sites - Aula 1Wordpress - Gerenciamento de Blogs e sites - Aula 1
Wordpress - Gerenciamento de Blogs e sites - Aula 1Saulo Matias
 

Semelhante a Como funciona a query padrão do WordPress (20)

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...
 
Clean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissionalClean code: programando com WordPress de forma profissional
Clean code: programando com WordPress de forma profissional
 
Aprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard BarrosAprendendo a criar plugins para o Wordpress - Richard Barros
Aprendendo a criar plugins para o Wordpress - Richard Barros
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
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
 
Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011Desmistificando web2py - #TDC2011
Desmistificando web2py - #TDC2011
 
The Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressThe Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPress
 
Joomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisJoomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portais
 
Joomla possibilidades infinitas em CMS
Joomla   possibilidades infinitas em CMSJoomla   possibilidades infinitas em CMS
Joomla possibilidades infinitas em CMS
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
Aprenda Joomla! 1.5 fácil!
Aprenda Joomla! 1.5 fácil!Aprenda Joomla! 1.5 fácil!
Aprenda Joomla! 1.5 fácil!
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da Zend
 
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
 
WordPress SEO - SearchLabs 2010
WordPress SEO - SearchLabs 2010WordPress SEO - SearchLabs 2010
WordPress SEO - SearchLabs 2010
 
Workflow WordPress + JavaScript - WordCamp Rio
Workflow WordPress + JavaScript  - WordCamp RioWorkflow WordPress + JavaScript  - WordCamp Rio
Workflow WordPress + JavaScript - WordCamp Rio
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo Toolkit
 
PHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraPHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e Segura
 
Ebook - Processo de Otimização de Sites WordPress
Ebook - Processo de Otimização de Sites WordPressEbook - Processo de Otimização de Sites WordPress
Ebook - Processo de Otimização de Sites WordPress
 
Tutorial codeigniter
Tutorial codeigniterTutorial codeigniter
Tutorial codeigniter
 
Wordpress - Gerenciamento de Blogs e sites - Aula 1
Wordpress - Gerenciamento de Blogs e sites - Aula 1Wordpress - Gerenciamento de Blogs e sites - Aula 1
Wordpress - Gerenciamento de Blogs e sites - Aula 1
 

Mais de wordcamppoa

Spread the Word: A importância de compartilhar no ecossistema em que você vive!
Spread the Word: A importância de compartilhar no ecossistema em que você vive!Spread the Word: A importância de compartilhar no ecossistema em que você vive!
Spread the Word: A importância de compartilhar no ecossistema em que você vive!wordcamppoa
 
Mais colaboração, menos preconceito.
Mais colaboração, menos preconceito.Mais colaboração, menos preconceito.
Mais colaboração, menos preconceito.wordcamppoa
 
GlotPress e outras ferramentas para traduzir (n)o WordPress
GlotPress e outras ferramentas para traduzir (n)o WordPressGlotPress e outras ferramentas para traduzir (n)o WordPress
GlotPress e outras ferramentas para traduzir (n)o WordPresswordcamppoa
 
Livin’ La Vida WordPress
Livin’ La Vida WordPressLivin’ La Vida WordPress
Livin’ La Vida WordPresswordcamppoa
 
SEO para WordPress, do desenvolvimento à publicação
SEO para WordPress, do desenvolvimento à publicaçãoSEO para WordPress, do desenvolvimento à publicação
SEO para WordPress, do desenvolvimento à publicaçãowordcamppoa
 
Princípios de Arquitetura da Informação aplicados ao WordPress
Princípios de Arquitetura da Informação aplicados ao WordPressPrincípios de Arquitetura da Informação aplicados ao WordPress
Princípios de Arquitetura da Informação aplicados ao WordPresswordcamppoa
 
O WordPress é seguro. Inseguro é você.
O WordPress é seguro. Inseguro é você.O WordPress é seguro. Inseguro é você.
O WordPress é seguro. Inseguro é você.wordcamppoa
 
Gestão de projetos no desenvolvimento WordPress. Trabalhando em comunidade
Gestão de projetos no desenvolvimento WordPress. Trabalhando em comunidadeGestão de projetos no desenvolvimento WordPress. Trabalhando em comunidade
Gestão de projetos no desenvolvimento WordPress. Trabalhando em comunidadewordcamppoa
 
WordPress como solução para boletins científicos
WordPress como solução para boletins científicosWordPress como solução para boletins científicos
WordPress como solução para boletins científicoswordcamppoa
 
Blog WordPress no Azure
Blog WordPress no AzureBlog WordPress no Azure
Blog WordPress no Azurewordcamppoa
 

Mais de wordcamppoa (10)

Spread the Word: A importância de compartilhar no ecossistema em que você vive!
Spread the Word: A importância de compartilhar no ecossistema em que você vive!Spread the Word: A importância de compartilhar no ecossistema em que você vive!
Spread the Word: A importância de compartilhar no ecossistema em que você vive!
 
Mais colaboração, menos preconceito.
Mais colaboração, menos preconceito.Mais colaboração, menos preconceito.
Mais colaboração, menos preconceito.
 
GlotPress e outras ferramentas para traduzir (n)o WordPress
GlotPress e outras ferramentas para traduzir (n)o WordPressGlotPress e outras ferramentas para traduzir (n)o WordPress
GlotPress e outras ferramentas para traduzir (n)o WordPress
 
Livin’ La Vida WordPress
Livin’ La Vida WordPressLivin’ La Vida WordPress
Livin’ La Vida WordPress
 
SEO para WordPress, do desenvolvimento à publicação
SEO para WordPress, do desenvolvimento à publicaçãoSEO para WordPress, do desenvolvimento à publicação
SEO para WordPress, do desenvolvimento à publicação
 
Princípios de Arquitetura da Informação aplicados ao WordPress
Princípios de Arquitetura da Informação aplicados ao WordPressPrincípios de Arquitetura da Informação aplicados ao WordPress
Princípios de Arquitetura da Informação aplicados ao WordPress
 
O WordPress é seguro. Inseguro é você.
O WordPress é seguro. Inseguro é você.O WordPress é seguro. Inseguro é você.
O WordPress é seguro. Inseguro é você.
 
Gestão de projetos no desenvolvimento WordPress. Trabalhando em comunidade
Gestão de projetos no desenvolvimento WordPress. Trabalhando em comunidadeGestão de projetos no desenvolvimento WordPress. Trabalhando em comunidade
Gestão de projetos no desenvolvimento WordPress. Trabalhando em comunidade
 
WordPress como solução para boletins científicos
WordPress como solução para boletins científicosWordPress como solução para boletins científicos
WordPress como solução para boletins científicos
 
Blog WordPress no Azure
Blog WordPress no AzureBlog WordPress no Azure
Blog WordPress no Azure
 

Como funciona a query padrão do WordPress

  • 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!
  • 3. Esqueça o Joomla! Joomla! é legalzinho, mas você já ouviu falar de WordPress?
  • 4. Coisas que eu gostaria de saber antes de começar a desenvolver temas e plugins para WordPress … uma palestra sobre mágica
  • 5. Não seja preguiçoso A regra de ouro!
  • 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/
  • 8. Como funciona a query padrão do WordPress
  • 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
  • 10. Como escrevo minhas querys no WordPress? mistério!!! Não escreve
  • 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
  • 12. Como modificar corretamente a query padrão do WordPress?
  • 13. Ajude as fadinhas … não use query_posts( );
  • 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
  • 18. Deixando o site ou plugin pronto para internacionalização
  • 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/
  • 21. Hooks: Actions and Filters A varinha mágica do desenvolvedor 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
  • 25. add_action( string $tag, callable $function_to_add, int $priority = 10,int $accepted_args = 1 ); https://developer.wordpress.org/reference/functions/add_action/ add_filter( string $tag, callable $function_to_add, int $priority = 10,int $accepted_args = 1 ); https://developer.wordpress.org/reference/functions/add_filter/ 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
  • 28. O WordPress imprimi classes nos elementos HTML
  • 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!
  • 35. Senta aqui, vamos conversar!