41
Ajude as fadinhas … não use query_posts( );

O que eu preciso saber para começar a criar temas e plugins WordPress

Embed Size (px)

Citation preview

Page 1: O que eu preciso saber para começar a criar temas e plugins WordPress

Ajude as fadinhas

… não use query_posts( );

Page 2: O que eu preciso saber para começar a criar temas e plugins WordPress

pre_get_posts();Preguetinho para os íntimos.

Page 3: O que eu preciso saber para começar a criar temas e plugins WordPress

DEV WP:O que eu preciso saber para começar a criar temas e plugins para WordPress?

WordCamp 2016RIO DE JANEIRO

Page 4: O que eu preciso saber para começar a criar temas e plugins WordPress

Leo Baiano#WebDev para pagar as contasMúsico quando estou bêbadoPoeta por vocaçãoRomântico de nascençaFAZEDOR DE SLIDES nas horas vagas

Pode não parecer, mas

ESTE CARA SOU EU

Page 5: O que eu preciso saber para começar a criar temas e plugins WordPress

Estruturando o projetoDev WP

● O que será uma página?● Quais CPTs vou precisar criar?● Quais Taxonomys?● Quais custom fields?● Qual a relação entre cada parte do projeto?● Quais plugins prontos vou utilizar?● Quais plugins eu preciso criar?

Page 6: O que eu preciso saber para começar a criar temas e plugins WordPress

Será uma página?Dev WP

Páginas são estruturas com conteúdo “estático”, que podem possuir “filhos” mas não precisam, necessariamente de uma estrutura de listagem.

Exemplo:- Páginas de contato- Páginas institucionais (quem somos, história…)

Page 7: O que eu preciso saber para começar a criar temas e plugins WordPress

Será um CPT?Dev WP

CPT é um tipo de post customizado, tem basicamente a mesma estrutura dos posts e são utilizados para definir um tipo que agrega várias publicações.

Exemplo:- Listagem de notícias- Listagem de escolas- Listagem de cursos

Page 8: O que eu preciso saber para começar a criar temas e plugins WordPress

Será uma taxonomia?Dev WP

Taxonomias se assemelham a categorias e tags, servem para categorizar posts de qualquer tipo.

Exemplo:- Categoria- Área

Page 9: O que eu preciso saber para começar a criar temas e plugins WordPress

Será um custom field?Dev WP

Custom Fields são campos personalizados que servem para cadastrar informações extras ligadas a um tipo de post.

Exemplo:- Ementa- Bibliografia

Page 10: O que eu preciso saber para começar a criar temas e plugins WordPress

Qual a relação entre as partes do projeto?

Dev WP

Cursos possuem uma relação com as escolas, as turmas possuem relação com um curso, como definimos isso?

Page 11: O que eu preciso saber para começar a criar temas e plugins WordPress

Quais plugins prontos devo usar?

Dev WP

- ACF- Contact Form 7- Yoast SEO- Plugins de segurança

Page 12: O que eu preciso saber para começar a criar temas e plugins WordPress

Quais plugins devo desenvolver?

Dev WP

Tudo que não possuir relação direta com o visual do site (layout) e sim com a estrutura e/ou conteúdo deve ser um plugin.

- CPTs- Funcionalidades e sistemas específicos

(enquetes, galerias…)

Page 13: O que eu preciso saber para começar a criar temas e plugins WordPress

Como funcionam os templates?

Dev WP

O WordPress define qual arquivo do tema será utilizado como template com base na página que o visitante está acessando.

Page 14: O que eu preciso saber para começar a criar temas e plugins WordPress
Page 15: O que eu preciso saber para começar a criar temas e plugins WordPress

Principais templatesDev WP

Páginas - page-slug.phpCPT - archive-slug.phpTaxonomias - taxonomy-slug.phpSingles - single-slug_do_cpt.php

Page 16: O que eu preciso saber para começar a criar temas e plugins WordPress

O loop de postsDev WP

O WordPress faz um SELECT no banco para trazer o conteúdo com base em critérios ligados a página que está sendo acessada pelo visitante.

Chamamos isso de loop padrão.

Page 17: O que eu preciso saber para começar a criar temas e plugins WordPress

Alterando o loop padrãoDev WP

Em alguns casos precisamos fazer algumas modificações no loop padrão de determinada página, para isso utilizamos o filtro pre_get_posts.

Documentação e exemplo:https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts

Page 18: O que eu preciso saber para começar a criar temas e plugins WordPress

Criando um segundo loopDev WP

Em outros casos é necessário criar um segundo loop na página. Para estes casos o ideal e mais correto é criar uma nova instância da WP_Query.

Documentação e exemplo:https://codex.wordpress.org/Class_Reference/WP_Query

Page 19: O que eu preciso saber para começar a criar temas e plugins WordPress

Estrutura de templatesDev WP

Os templates normalmente são estruturados da seguinte forma:

HeaderConteúdo principalSidebar (opcional)

Footer

Page 20: O que eu preciso saber para começar a criar temas e plugins WordPress

Estrutura de templatesDev WP

Como ficaria uma page.php por exemplo?

get_header();// Loop WordPress para mostrar o conteúdoget_sidebar();

get_footer();

Page 21: O que eu preciso saber para começar a criar temas e plugins WordPress

Arquivos fundamentaisDev WP

- style.css- header.php- footer.php- index.php- home.php- functions.php

Page 22: O que eu preciso saber para começar a criar temas e plugins WordPress

O que são hoocks?Dev WP

Hooks são ganchos utilizados para permitir que desenvolvedores possam adicionar funcionalidades ou modificar funcionalidades através de actions e filtros.

Page 23: O que eu preciso saber para começar a criar temas e plugins WordPress

ActionsDev WP

Actions servem para acionar funções antes ou depois de algo acontecer no WordPress. Por exemplo, você pode utilizar uma actions que chama uma função logo após um post ser salvo ou logo depois do WordPress definir qual o tema do site.

add_action( ‘nome_da_Action’, ‘ nome_da_função’ );

Page 24: O que eu preciso saber para começar a criar temas e plugins WordPress

FiltersDev WP

Os filtros são utilizados para interceptar e modificar a forma como uma determinada função do WordPress será executada. Por exemplo, voê pode utilizar um filtro para modificar a forma como a função the_excerpt() retorna o resumo dos posts.

add_filter( ‘nome_da_Action’, ‘ nome_da_função’ );

Page 25: O que eu preciso saber para começar a criar temas e plugins WordPress

Adicionando hook ao nosso tema

Dev WP

Os dois primeiros hooks que temos que adicionar no nosso tema são: wp_head(); e wp_footer();

Page 26: O que eu preciso saber para começar a criar temas e plugins WordPress

wp_head();Dev WP

Este hook permite que o WordPress e plugins carreguem coisas no <head> do nosso tema, exemplo mais comum é o carregamento de estilos CSS.

Page 27: O que eu preciso saber para começar a criar temas e plugins WordPress

wp_footer();Dev WP

Este hook permite que o WordPress e plugins carreguem coisas no rodapé do nosso tema, exemplo mais comum é o carregamento de scripts JS.

Page 28: O que eu preciso saber para começar a criar temas e plugins WordPress

Carregando folhas de estilo e scripts JS

Dev WP

Para carregar as folhas de estilo e arquivos JS você vai utilizar a action wp_enqueue_scripts e as funções wp_enqueue_style e wp_enqueue_script para carregar seus .css e .js respectivamente.

Page 29: O que eu preciso saber para começar a criar temas e plugins WordPress

Classes CSSDev WP

O WordPress possui algumas funções para gerar classes CSS que são muito uteis para ajudar a personalizar o visual do tema de acordo com a página ou seção que o visitante está vendo.

Page 30: O que eu preciso saber para começar a criar temas e plugins WordPress

body_class()Dev WP

Utilizada para adicionar classes CSS no elemento <body>.

Uso<body <?php body_class(); ?>>

Resultado<body class="page page-id-2 page-parent page-template-default logged-in">

Page 31: O que eu preciso saber para começar a criar temas e plugins WordPress

post_class()Dev WP

Utilizada para adicionar classes CSS no que envolve o post.

Uso<div <? Php post_class (); ? >>

Resultado<div class = "post-4564 category-48">

Page 32: O que eu preciso saber para começar a criar temas e plugins WordPress

Plugin ou functions.phpDev WP

Devo criar uma função no functions.php ou criar um plugin?

functions.php - Se a funcionalidade tiver ligação direta com o tema e não seria útil caso precise mudar o tema.

Plugin - Se a funcionalidade independe de tema.

Page 33: O que eu preciso saber para começar a criar temas e plugins WordPress

O que pesa mais?Dev WP

A performance do site depende diretamente da funcionalidade e como ela foi desenvolvida independente de onde ela está aplicada.

A performance será basicamente a mesma se colocar a função no functions.php ou em um plugin.

Page 34: O que eu preciso saber para começar a criar temas e plugins WordPress

Como começar a criar plugins?

Dev WP

O primeiro e principal passo para começar a desenvolver plugins é conhecer os hooks, o que fazem e quando são acionados.

Page 35: O que eu preciso saber para começar a criar temas e plugins WordPress

Vamos brincar um pouco?

Dev WP

Back to top

Vamos criar um plugin que inclui uma imagem flutuante, no rodapé do site, que ao ser clicada leva o visitante para o topo da página.

Page 36: O que eu preciso saber para começar a criar temas e plugins WordPress

Back to topDev WP

O que preciso fazer?

1 - Carregar um arquivo .js com um script que vai rolar a página para o topo quando o visitante clicar em um botão.

2 - Incluir o botão no rodapé do tema.

Page 37: O que eu preciso saber para começar a criar temas e plugins WordPress

Back to topDev WP

Quais actions ou filter posso utilizar para:

1 - Carregar um arquivo .js com um script que vai rolar a página para o topo quando o visitante clicar em um botão.

Action: wp_enqueue_scripts

Page 38: O que eu preciso saber para começar a criar temas e plugins WordPress

Back to topDev WP

Quais actions ou filter posso utilizar para:

2 - Incluir o botão no rodapé do tema.

Action: wp_footer

https://wordpress.org/plugins/backtop/

Page 39: O que eu preciso saber para começar a criar temas e plugins WordPress

AtendimentoHome Viva

Page 40: O que eu preciso saber para começar a criar temas e plugins WordPress

E por hoje é só pessoal!Home Viva

Page 41: O que eu preciso saber para começar a criar temas e plugins WordPress

Perguntas?Dev WP