Workshop WordPress

Usos e aplicações do WordPress no seu negócio (muito além do blog)

Quem?

Marlon Amâncio

  • Desenvolvo soluções com o WordPress desde 2010
  • Co-fundador e editor do blog Universo WP
  • Co-organizador do meetup WordPress BH

marlon@universowp.com.br

wordpress.org

wordpress.com

X

WordPress é um aplicativo web, gratuito, de código aberto, que você pode usar para criar um lindo blog, site, loja virtual ou o que você quiser.

Evolução do WordPress

Matt Mullenweg, "State of the Word", 2013

Código base inicial

Código base atual

WP como plataforma

Matt Mullenweg, "State of the Word", 2013

Usos e aplicações do WP

Matt Mullenweg, "State of the Word", 2013

Alguns cases

OK!

Estou convencido.

Então como criar meu site com o WordPress?

COMO ORGANIZAR O CONTEÚDO DO SITE

BLOG

Post

Receitas

Produtos

Projetos

Carros

Pessoas

Imóveis

"Posts" personalizados

Post

Categorias e Tags

Taxonomias

personalizadas

Post

Metadados

Campos

personalizados

Tipos de "Posts" Personalizados

(Custom Post Types)

Taxonomias Personalizadas (Custom Taxonomies)

Metadados ou Campos Personalizados

(Metadata ou Custom Fields)

REPRESENTAR

DESCREVER

AGRUPAR

Estruturas de conteúdo

Tipo de conteúdo Taxonomias Metadados
Post Categoria Título
Tags Autor
Data publicação
Imagem de destaque
Link permanente
Comentários

Exemplo Blog

Exemplo Filmes

Tipo de conteúdo Taxonomias Metadados
Filme Gênero Título
Atores Data de lançamento
Diretor Duração
Produtor Língua
Classificação
Sinopse
País
Tipo de conteúdo Taxonomias Metadados
Imóvel Tipo Título
Descrição
Área
Qtd Quartos
Qtd Banheiros
Qtd Vagas
Endereço
Data disponibilidade

Exemplo Imobiliária

Blz, agora como eu faço para exibir o conteúdo do meu site?

TEMAS

O Tema é responsável pela exibição do conteúdo e aparência do site.

index.php

Template principal (obrigatório)

style.css

Arquivo de estilo do tema (obrigatório)

functions.php

Funcionalidades do tema (opcional)

page.php

Template para exibição de páginas

single.php

Template para exibição de cada post

archive.php

Template para listagens de posts etc

Outros recursos como imagens, JavaScript etc

Anatomia básica de um tema

Os temas são compostos basicamente de templates (arquivos de modelo)

header.php

Content (Loop)

footer.php

header.php

header.php

footer.php

footer.php

Content (Loop)

sidebar.php

Content (Loop)

Form busca

sidebar.php

comments.php

index.php

index.php

index.php

Partes de Templates

Legal, mas como o WordPress sabe qual template ele deverá escolher para exibir o conteúdo?

Através da URL requisitada e da Hierarquia de Templates

HOME?

front-page.php > home.php > page.php > index.php

PÁGINA?

{custom-template}.php > page-{slug}.php > page-{id}.php > page.php > singular.php > index.php

POST?

single-{post-type}.php > single.php > singular.php > index.php

ARQUIVO?

category-{slug}.php > category-{id}.php > category.php > archive.php > index.php

404?

404.php > index.php

BUSCA?

search.php > single.php > index.php

BLOG?

home.php > index.php

Hierarquia de Templates

https://universowp.com.br/categoria/noticias

https://universowp.com.br/blog/nome-do-artigo

Show! E como o WordPress exibe o conteúdo através dos templates?

Usando as Template Tags e o Loop

Template Tags

Tags de inclusão

  • get_header()
  • get_footer()
  • get_sidebar()
  • get_template_part()
  • get_search_form()
  • comments_template()

Tags de conteúdo

  • the_title()
  • the_content()
  • the_author()
  • the_category()
  • tag_description()
  • the_terms()
  • comment_date()
  • body_class()
  • the_ID()
  • wp_nav_menu()

Tags condicionais

  • is_home()
  • is_front_page()
  • is_single()
  • is_page()
  • is_page_template()
  • is_active_sidebar()
  • is_plugin_active()
  • has_excerpt()

Loop (WP_QUERY)

<?php if ( have_posts() ) : ?>
    
    <?php while ( have_posts() ) : the_post(); ?>
        
        <h1><?php the_title(); ?></h1>
        
        <?php the_content(); ?>
    
    <?php endwhile; ?>

<?php else : ?>

    <?php echo 'Desculpe, não foi encontrado conteúdo.'; ?>

<?php endif; ?>

Onde usar o Loop?

header.php

footer.php

sidebar.php

Query Primária (padrão)

Queries Secundárias

Como alterar a consulta padrão?

query_posts()

Use o gancho pre_get_posts para alterar a consulta padrão ou a classe WP_Query para consultas secundárias.

PLUGINS

Plugins são pacotes de código que alteram e estendem as funcionalidades do WordPress.

Execução do WP

Gancho (hook)

Design baseado em eventos

Customizações

EVENTO

EVENTO

EVENTO

EVENTO

EVENTO

EVENTO

FUNÇÃO

FUNÇÃO

EVENTO

FUNÇÃO

Actions

do_action()

add_action()

Filters

apply_filters()

add_filter()

Plugin API

CRIANDO UM TEMA

MAMP

XAMPP

WAMP

Visual Studio Code

Atom

SublimeText

Instalação local

Plugin para criar e gerenciar tipos de conteúdo personalizados e taxonomias

Plugin para criar e gerenciar campos personalizados (metadados)

Plugin para construir páginas e templates customizados

Plugin para criar filtros avançados.

Adicione pesquisa facetada à sua loja, diretórios, listagens e muito mais.

Plugin para criar, gerenciar e exibir conteúdos personalizados, taxonomias e campos personalizados.

Devs

Usuários

Sugestões de temas

Fórum Oficial (Suporte e ajuda)

https://br.wordpress.org/support/

 

Meetup (Agenda oficial de encontros)

https://www.meetup.com/WordPressBeloHorizonte/

 

Comunidade no Slack (Discussão e bate papo)

https://slack-wpbrasil.herokuapp.com/

 

Grupo Facebook (Discussão e ajuda)

https://www.facebook.com/groups/bhwpgroup/

https://www.facebook.com/groups/wordpress.brasil

 

Grupo WhatsApp (Bate papo e ajuda)

http://bit.ly/grupo-wpbh

Documentação

Obrigado!

marlon@universowp.com.br

Workshop Locaweb

By Marlon Lacerda Amâncio