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
- Underscores (Base)
- Odin (Brasileiro)
- Uderstrap (Bootstrap 4)
- Sage (Blade Engine)
- Piklist (Framework)
Usuários
- Twenty Nineteen ou o próprio repositório do WP
- Hello Theme (Elementor)
- Astra
- Theme Forest
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)
Documentação
Obrigado!
marlon@universowp.com.br
Workshop Locaweb
By Marlon Lacerda Amâncio
Workshop Locaweb
- 1,300