SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
CRIANDO SEU PRIMEIRO
TEMA DO ZERO
Fellyph Cintra
domingo, 14 de julho de 13
Fellyph Cintra (@fellyph)
Gerente de ProjetosTech Center BlackBerry
http://www.fellyph.com.br/blog/
domingo, 14 de julho de 13
domingo, 14 de julho de 13
domingo, 14 de julho de 13
WORDPRESS
Wordpress é um sistema de gestão de conteúdo, também
conhecido como CMS( do inglês Content Management
Systems),  escrito em PHP.
domingo, 14 de julho de 13
IDENTIFICANDO ESTRUTURAS
domingo, 14 de julho de 13
SE IDENTIFICARMOS UM PADRÃO
DE INFORMAÇÃO
PODEMOS UTILIZAR O WORDPRESS
domingo, 14 de julho de 13
TRABALHANDO LOCALMENTE
Para trabalhar com o wordpress temos que acessar o endereço:
http://www.wordpress.org
Lá temos a última versão do WordPress disponível para download.
domingo, 14 de julho de 13
TRÊS PASSOS MÁGICOS
1 - Montar o ambiente (local ou online)
2 - Criar banco
3 - Configurar o wp-config(arquivo de configuração do
WordPress)
domingo, 14 de julho de 13
PREPARANDO AMBIENTE LOCAL
Para trabalharmos localmente com o WordPress precisamos
configurar o Apache+mySQL + PHP para isso vamos
trabalhar com XAMPP, MAMP,WAMP ou LAMP. É uma
instalação pre-configurada desses recursos.
* COM O AMBIENTE PRONTO JOGAMOS A PASTA DO WORDPRESS NA PASTA
HTDOCS OU WWW DEPENDENDO DO AMBIENTE
domingo, 14 de julho de 13
CRIANDO O BANCO DE
DADOS
Com o nosso ambiente local instalado, agora precisamos criar
o nosso banco. Para acessar o administrador de banco de
dados no servidor local através do seguinte endereço :
http://localhost/phpmyadmin
 
domingo, 14 de julho de 13
PHPMYADMIN
domingo, 14 de julho de 13
EDITANDO O ARQUIVO DE
CONFIGURAÇÃO
Com o ambiente pronto e o banco de dados criado, agora
precisamos editar o nosso arquivo wp-config.php(wp-config-
sample.php)
domingo, 14 de julho de 13
WP-CONFIG.PHP
domingo, 14 de julho de 13
ESTRUTURA DO WORDPRESS
domingo, 14 de julho de 13
ORGANIZAÇÃO DE PASTAS
Nos arquivos do wordpress possuem três pastas básicas:
wp-admin: Tem todo o meu sistema de adiministração
wp-include: Tem todas as funcionalidades do wordpress,
funções e mêtodos especiais.
wp-content:Tem tudo relacionado a conteúdo, plugins,
uploads, e temas. 
domingo, 14 de julho de 13
CRIANDO SEU PRIMEIRO
TEMA
O wordpress passa a reconhecer um tema com apenas
dois arquivos básicos. Index.php e style.css
domingo, 14 de julho de 13
DEFININDO OS DETALHES DO SEUTEMA
No arquivo style.css ficam as definições do seu tema.
Elas são configuradas em um comentário no começo do
arquivo.
Exemplo:
Theme Name: Nome do meu tema
Theme URI: http://www.urldomeutema.com
Author: Nome do autor.
Author URI: http://urldoautor.com
Description: Descrição do tema
Version: 1.0
domingo, 14 de julho de 13
OUTROS ARQUIVOS IMPORTANTES
•index.php
•single.php
•category.php
•search.php
•404.php
•page.php
•tag.php
•archive.php
•header.php
•footer.php
domingo, 14 de julho de 13
ARQUITETURA BÁSICA
HEADER.PHP
INDEX.PHP
PAGE.PHP
SINGLE.PHP
CATEGORY.PHP
SEARCH.PHP
SIDEBAR.PHP
FOOTER.PHP
domingo, 14 de julho de 13
INCLUDETAGS
Como o nome sugere, são comandos de inclusão de blocos de códigos para
montagem e modularização do nosso projeto, muito útil para realizar o reúso do
nosso código, são eles:
get_header()  - incorpora o arquivo header.php(referente ao cabeçalho)
get_footer() - incorpora o footer.php  arquivo responsável pelo rodapé do meu
tema
get_sidebar() - incorpora o sidebar.php (barra lateral reponsável por uma série de
recursos do wordpress)
domingo, 14 de julho de 13
LOOP
<?php while ( have_posts () ): the_post(); ?>
 
Conteúdo a ser executado a cada iteração...
<?php endwhile; ?>
Quando o wordpress carrega uma url ele verifica qual tipo de informação o usuário
deseja, assim consulta a informação no banco e deixa disponível para exibição, não temos
idéia da quantidade de posts que virão, assim utilizamos a função have_posts() verifica se
existem post a serem exibidos na fila.
A função the_post() faz o acesso ao post e atualiza o ponteiro de acesso da informação
a cada chamada.
domingo, 14 de julho de 13
WP_HEAD E WP_FOOTER
Logo quando criar o header.php é extremamente importante adicionar
antes de fechar a tag <head> adicionar a função :
 wp_head();
Ela é responsável por gerenciar todos os includes do seu tema e plugins.
Com a mesma funcionalidade devemos adicionar ao footer.php antes de
fechar a tag <body> a função:
wp_footer();
domingo, 14 de julho de 13
RECOLHENDO INFORMAÇÕES
GERAIS DO WP
O Wordpress contém uma função bloginfo() que fornece informações do
seu site. Passamos como parâmetro qual informação queremos resgatar.
 
<?php bloginfo('qual o parâmetro'); ?>
 
exemplo :
 
<h1><?php bloginfo('name'); ?></h1>
A função acima resgata o nome do site
domingo, 14 de julho de 13
EXEMPLOS PARA O
BLOGINFO()
name: nome do blog
description: descrição do blog
admin_email: email do administrador
stylesheet_directory: url da pasta do css
stylesheet_url: url do css
template_directory: diretorio do tema
template_url: url do tema
domingo, 14 de julho de 13
POST_CLASS()
Essa função gera automaticamente uma série de classe
relacionadas ao tipo de conteúdo que está sendo carregado:
[loop]
<div <?php post_class(); ?> >
" <h2><?php the_title() ?></h2>
" <?php the_content() ?>
</div>
[fim do loop]
Também podemos atribuir um id único:
<div id="post-<?php the_ID(); ?>" <?php
post_class(); ?>>
domingo, 14 de julho de 13
QUERY_POSTS()
Query_posts() é uma função de filtro sobre o dados
do loop do WordPress, independente da url o que
será exibido é controlado pelo query_posts().
Exemplo:
 
<?php
// The Query
query_posts( $args );
// The Loop
while ( have_posts() ) : the_post();
...
domingo, 14 de julho de 13
EXEMPLOS DE QUERY
query_posts('cat=3'); - Todos os posts da categoria 3
 
query_posts( 'cat=-3' );  - Todos os posts menos da categoria 3
 
query_posts( 'posts_per_page=5' ); - Apenas os 5 últimos posts
 
query_posts('cat=2,6,17,38'); - grupo de
categorias
 
query_posts('tag=cooking'); - por tag 
 
   
domingo, 14 de julho de 13
MAIS EXEMPLOS
category_name=slug-da-categoria : cria um filtro através do slug
da categoria.
p=5 : carrega um post específico
posts_per_page = -1 ou showposts = -1 : lista todos os posts de
uma categoria
year=2012 : filtra os posts de um ano específico
monthnum : filtra os posts de um mês(numeral) específico
domingo, 14 de julho de 13
PERSONALIZANDO A ORDEM DOS POSTS
No query_posts podemos personalizar a ordem de listagem
definindo dois parâmetros “order” e o “orderby”. O order :ASC
ou DESC.
orderby : define qual a propriedade que ele irá fazer a
ordenação(padrão é por data de publicação):
ID' - ordena por ID.
'author' - Ordena por au.
'title' - Order by title.
'modified' - Order by last modified date.
'parent' - Order by post/page parent id.
'rand' - Random order.
'comment_count' - Ordena por comentário ( disponível na versão 2.9 ou
superior).
Lista completa : http://codex.wordpress.org/Class_Reference/WP_Query#Parameters
domingo, 14 de julho de 13
PAGINAÇÃO
Por padrão o worpdress exibe 10 posts por loop.
Para criar uma paginação utilizamos duas funções :
next_posts_link(’texto do link'): cria um link para próxima
página
previous_posts_link(’texto do link’): criar um link para a página
anterior
A estrutura de paginação o wordpress gerência automaticamente criando links só
quando necessário
domingo, 14 de julho de 13
QUERY_POSTS X PAGINAÇÃO
Esta função faz acesso as informações da query do loop.
Exemplo: 
<?php $page = (get_query_var('paged')) ?
get_query_var('page') : 1;  ?> <h1>Você
está na página : <?php echo $page; ?></
h1>
domingo, 14 de julho de 13
QUERY_POSTS() X PAGINAÇÃO
$paged = (get_query_var("paged")) ?
get_query_var("paged") : "1" ;
query_posts(array( 'posts_per_page' => 5, 'paged' =>
$paged ));
domingo, 14 de julho de 13
BOOTSTRAP
• Scaffolding
• grid system
• fluid grid system
• resposive design
• Componentes
• Dropdowns
• Navs
• Breadcrumbs..
• JavaScript Components
• Transitions
• Modal
• Dropdown
• Tab
• Carousel
• Collapse...
domingo, 14 de julho de 13
OUTRA OPÇÃO:YUI
http://yuilibrary.com/
domingo, 14 de julho de 13
REFERÊNCIAS
• SublimeTXT : http://www.sublimetext.com/
• Plugins: http://wbond.net/sublime_packages/package_control
• Emmet: https://github.com/sergeche/emmet-sublime#how-to-install
• Codex!: http://codex.wordpress.org/
• Grupo no face: https://www.facebook.com/groups/wordpress.brasil/
• BLOG: http://www.fellyph.com.br/blog/
• GIT: http://www.github.com/fellyph/
domingo, 14 de julho de 13
OBRIGADO PORTO ALEGRE
domingo, 14 de julho de 13

Weitere ähnliche Inhalte

Was ist angesagt?

Construindo temas para Plone com Diazo
Construindo temas para Plone com DiazoConstruindo temas para Plone com Diazo
Construindo temas para Plone com DiazoSimples Consultoria
 
Meu primeiro tema de WordPress
Meu primeiro tema de WordPressMeu primeiro tema de WordPress
Meu primeiro tema de WordPressLuan Muniz
 
Aula 7_8-Upload e contador de acessos com PHP
Aula 7_8-Upload e contador de acessos com PHPAula 7_8-Upload e contador de acessos com PHP
Aula 7_8-Upload e contador de acessos com PHPLucas Augusto Fagundes
 
Banco de dadados MySQL com PHP
Banco de dadados MySQL com PHPBanco de dadados MySQL com PHP
Banco de dadados MySQL com PHPLeonardo Soares
 
PHP e MySQL para iniciantes
PHP e MySQL para iniciantesPHP e MySQL para iniciantes
PHP e MySQL para iniciantesEduardo Mendes
 
Configurando servidor web https no apache2 ed
Configurando servidor web https no apache2 edConfigurando servidor web https no apache2 ed
Configurando servidor web https no apache2 edCarlos Melo
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesDaniel Brandão
 
Módulo 16 Instalação do DSpace 3.x Windows Linux
Módulo 16 Instalação do DSpace 3.x Windows LinuxMódulo 16 Instalação do DSpace 3.x Windows Linux
Módulo 16 Instalação do DSpace 3.x Windows LinuxRodrigo Prado
 
Devmedia - Conhecendo o framework front-end Foundation
Devmedia - Conhecendo o framework front-end FoundationDevmedia - Conhecendo o framework front-end Foundation
Devmedia - Conhecendo o framework front-end FoundationDevmedia
 
Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]João Augusto
 
Workshop - Desenvolvimento web com Drupal 7
Workshop - Desenvolvimento web com Drupal 7Workshop - Desenvolvimento web com Drupal 7
Workshop - Desenvolvimento web com Drupal 7Sérgio Lima
 
Php 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosPhp 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosRegis Magalhães
 
Instalação DSpace 4.x Windows
Instalação DSpace 4.x WindowsInstalação DSpace 4.x Windows
Instalação DSpace 4.x WindowsRodrigo De Jesus
 
WordPress além dos blogs #fisl14
WordPress além dos blogs #fisl14WordPress além dos blogs #fisl14
WordPress além dos blogs #fisl14Tatiane Pires
 

Was ist angesagt? (20)

Diazo para todos
Diazo para todosDiazo para todos
Diazo para todos
 
Construindo temas para Plone com Diazo
Construindo temas para Plone com DiazoConstruindo temas para Plone com Diazo
Construindo temas para Plone com Diazo
 
Criando Temas com Diazo
Criando Temas com DiazoCriando Temas com Diazo
Criando Temas com Diazo
 
Meu primeiro tema de WordPress
Meu primeiro tema de WordPressMeu primeiro tema de WordPress
Meu primeiro tema de WordPress
 
Aula 7_8-Upload e contador de acessos com PHP
Aula 7_8-Upload e contador de acessos com PHPAula 7_8-Upload e contador de acessos com PHP
Aula 7_8-Upload e contador de acessos com PHP
 
Banco de dadados MySQL com PHP
Banco de dadados MySQL com PHPBanco de dadados MySQL com PHP
Banco de dadados MySQL com PHP
 
PHP e MySQL para iniciantes
PHP e MySQL para iniciantesPHP e MySQL para iniciantes
PHP e MySQL para iniciantes
 
Configurando servidor web https no apache2 ed
Configurando servidor web https no apache2 edConfigurando servidor web https no apache2 ed
Configurando servidor web https no apache2 ed
 
Aula 5
Aula 5Aula 5
Aula 5
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e Sessoes
 
Drupal - Perfis de instalacao e Drush make
Drupal - Perfis de instalacao e Drush makeDrupal - Perfis de instalacao e Drush make
Drupal - Perfis de instalacao e Drush make
 
Módulo 16 Instalação do DSpace 3.x Windows Linux
Módulo 16 Instalação do DSpace 3.x Windows LinuxMódulo 16 Instalação do DSpace 3.x Windows Linux
Módulo 16 Instalação do DSpace 3.x Windows Linux
 
Devmedia - Conhecendo o framework front-end Foundation
Devmedia - Conhecendo o framework front-end FoundationDevmedia - Conhecendo o framework front-end Foundation
Devmedia - Conhecendo o framework front-end Foundation
 
Alo mundojpa
Alo mundojpaAlo mundojpa
Alo mundojpa
 
Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]Automatizar backup no pf sense [dica]
Automatizar backup no pf sense [dica]
 
Workshop - Desenvolvimento web com Drupal 7
Workshop - Desenvolvimento web com Drupal 7Workshop - Desenvolvimento web com Drupal 7
Workshop - Desenvolvimento web com Drupal 7
 
Php 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies CabecalhosPhp 03 Sessoes Cookies Cabecalhos
Php 03 Sessoes Cookies Cabecalhos
 
Instalação DSpace 4.x Windows
Instalação DSpace 4.x WindowsInstalação DSpace 4.x Windows
Instalação DSpace 4.x Windows
 
Upload de arquivos - Laravel
Upload de arquivos - LaravelUpload de arquivos - Laravel
Upload de arquivos - Laravel
 
WordPress além dos blogs #fisl14
WordPress além dos blogs #fisl14WordPress além dos blogs #fisl14
WordPress além dos blogs #fisl14
 

Andere mochten auch

Desenvolvendo Plugins para o Wordpress
Desenvolvendo Plugins para o WordpressDesenvolvendo Plugins para o Wordpress
Desenvolvendo Plugins para o WordpressSérgio Vilar
 
Life of a WordPress Plugin @ Barcamppt
Life of a WordPress Plugin @ BarcampptLife of a WordPress Plugin @ Barcamppt
Life of a WordPress Plugin @ Barcampptjoseairosa
 
Plugins no WordPress: Fazendo o Negócio Direito
Plugins no WordPress: Fazendo o Negócio DireitoPlugins no WordPress: Fazendo o Negócio Direito
Plugins no WordPress: Fazendo o Negócio DireitoVinicius Massuchetto
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPressLeandrinho Vieira
 
WordPress SEO - SearchLabs 2010
WordPress SEO - SearchLabs 2010WordPress SEO - SearchLabs 2010
WordPress SEO - SearchLabs 2010Guga Alves
 
Desenvolvimento de plugins WordPress
Desenvolvimento de plugins WordPressDesenvolvimento de plugins WordPress
Desenvolvimento de plugins WordPressLeandrinho Vieira
 
Scrum: Na prática o que importa são os Valores
Scrum: Na prática o que importa são os ValoresScrum: Na prática o que importa são os Valores
Scrum: Na prática o que importa são os ValoresDanilo Bardusco
 
Domain-Driven Design com PHP
Domain-Driven Design com PHPDomain-Driven Design com PHP
Domain-Driven Design com PHPThiago Colares
 
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GITMontando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GITLeo Baiano
 
Wordpress SEO - Muito além de plugins
Wordpress SEO - Muito além de pluginsWordpress SEO - Muito além de plugins
Wordpress SEO - Muito além de pluginsFabio Ricotta
 
Wordpress, Guia/Manual do Publicador
Wordpress, Guia/Manual do PublicadorWordpress, Guia/Manual do Publicador
Wordpress, Guia/Manual do PublicadorRenato Vieira
 
Otimização Front-end para WordPress
Otimização Front-end para WordPressOtimização Front-end para WordPress
Otimização Front-end para WordPressGuga Alves
 
WordPress da instalação à criação de temas personalizados para seu site
WordPress da instalação à criação de temas personalizados para seu siteWordPress da instalação à criação de temas personalizados para seu site
WordPress da instalação à criação de temas personalizados para seu siteFlávio Ricardo B. Meira
 
Estratégias Digitais para 2015 - #RDonTheRoad
Estratégias Digitais para 2015 - #RDonTheRoadEstratégias Digitais para 2015 - #RDonTheRoad
Estratégias Digitais para 2015 - #RDonTheRoadFabio Ricotta
 
Como demonstrar ROI das entregas de valor com Business Case
Como demonstrar ROI das entregas de valor com Business Case Como demonstrar ROI das entregas de valor com Business Case
Como demonstrar ROI das entregas de valor com Business Case Rildo (@rildosan) Santos
 
SEO para Blogs - Ganhando Milhares de Visitas
SEO para Blogs - Ganhando Milhares de VisitasSEO para Blogs - Ganhando Milhares de Visitas
SEO para Blogs - Ganhando Milhares de VisitasFabio Ricotta
 

Andere mochten auch (20)

Desenvolvendo Plugins para o Wordpress
Desenvolvendo Plugins para o WordpressDesenvolvendo Plugins para o Wordpress
Desenvolvendo Plugins para o Wordpress
 
Life of a WordPress Plugin @ Barcamppt
Life of a WordPress Plugin @ BarcampptLife of a WordPress Plugin @ Barcamppt
Life of a WordPress Plugin @ Barcamppt
 
Plugins no WordPress: Fazendo o Negócio Direito
Plugins no WordPress: Fazendo o Negócio DireitoPlugins no WordPress: Fazendo o Negócio Direito
Plugins no WordPress: Fazendo o Negócio Direito
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPress
 
SEO para WordPress
SEO para WordPressSEO para WordPress
SEO para WordPress
 
WordPress SEO - SearchLabs 2010
WordPress SEO - SearchLabs 2010WordPress SEO - SearchLabs 2010
WordPress SEO - SearchLabs 2010
 
Desenvolvimento de plugins WordPress
Desenvolvimento de plugins WordPressDesenvolvimento de plugins WordPress
Desenvolvimento de plugins WordPress
 
Agile SCRUM
Agile SCRUMAgile SCRUM
Agile SCRUM
 
Scrum: Na prática o que importa são os Valores
Scrum: Na prática o que importa são os ValoresScrum: Na prática o que importa são os Valores
Scrum: Na prática o que importa são os Valores
 
Domain-Driven Design com PHP
Domain-Driven Design com PHPDomain-Driven Design com PHP
Domain-Driven Design com PHP
 
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GITMontando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
Montando um ambiente de desenvolvimento WordPress utilizando Composer e GIT
 
Wordpress SEO - Muito além de plugins
Wordpress SEO - Muito além de pluginsWordpress SEO - Muito além de plugins
Wordpress SEO - Muito além de plugins
 
Apostila Wordpress
Apostila WordpressApostila Wordpress
Apostila Wordpress
 
Wordpress, Guia/Manual do Publicador
Wordpress, Guia/Manual do PublicadorWordpress, Guia/Manual do Publicador
Wordpress, Guia/Manual do Publicador
 
Otimização Front-end para WordPress
Otimização Front-end para WordPressOtimização Front-end para WordPress
Otimização Front-end para WordPress
 
WordPress da instalação à criação de temas personalizados para seu site
WordPress da instalação à criação de temas personalizados para seu siteWordPress da instalação à criação de temas personalizados para seu site
WordPress da instalação à criação de temas personalizados para seu site
 
Estratégias Digitais para 2015 - #RDonTheRoad
Estratégias Digitais para 2015 - #RDonTheRoadEstratégias Digitais para 2015 - #RDonTheRoad
Estratégias Digitais para 2015 - #RDonTheRoad
 
Como demonstrar ROI das entregas de valor com Business Case
Como demonstrar ROI das entregas de valor com Business Case Como demonstrar ROI das entregas de valor com Business Case
Como demonstrar ROI das entregas de valor com Business Case
 
Resumo do Guia BABOK® 3
Resumo do Guia BABOK®  3 Resumo do Guia BABOK®  3
Resumo do Guia BABOK® 3
 
SEO para Blogs - Ganhando Milhares de Visitas
SEO para Blogs - Ganhando Milhares de VisitasSEO para Blogs - Ganhando Milhares de Visitas
SEO para Blogs - Ganhando Milhares de Visitas
 

Ähnlich wie Criando seu primeiro tema do zero com WordPress

Criando sites com Wordpress
Criando sites com WordpressCriando sites com Wordpress
Criando sites com WordpressSérgio Vilar
 
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
 
Construindo sites e sistemas com WordPress
Construindo sites e sistemas com WordPressConstruindo sites e sistemas com WordPress
Construindo sites e sistemas com WordPressLeo Baiano
 
Como criar um tema para WordPress
Como criar um tema para WordPressComo criar um tema para WordPress
Como criar um tema para WordPressRafael Funchal
 
Wordpress e suas funções
Wordpress e suas funçõesWordpress e suas funções
Wordpress e suas funçõesDaniel Marcos
 
Desenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDesenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDaniel Paz
 
Criando Sites Com CMS
Criando Sites Com CMSCriando Sites Com CMS
Criando Sites Com CMSClaudio Toldo
 
Workshop Web e WordPress
Workshop Web e WordPressWorkshop Web e WordPress
Workshop Web e WordPressHaste Design
 
Wordpress além do blog
Wordpress além do blogWordpress além do blog
Wordpress além do blogMateus Neves
 
10 coisas para fazer logo após instalar o Wordpress
10 coisas para fazer logo após instalar o Wordpress10 coisas para fazer logo após instalar o Wordpress
10 coisas para fazer logo após instalar o WordpressCarlos Barros
 
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...wordcamppoa
 
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
 
Introdução ao zend framework
Introdução ao zend frameworkIntrodução ao zend framework
Introdução ao zend frameworkMarcos Oliveira
 
Minicurso FEAPA - WordPress: Plataforma para criação de sites
Minicurso FEAPA - WordPress: Plataforma para criação de sitesMinicurso FEAPA - WordPress: Plataforma para criação de sites
Minicurso FEAPA - WordPress: Plataforma para criação de sitesJosé Stélio Malcher Jr.
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 

Ähnlich wie Criando seu primeiro tema do zero com WordPress (20)

Criando sites com Wordpress
Criando sites com WordpressCriando sites com Wordpress
Criando sites com 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...
 
Construindo sites e sistemas com WordPress
Construindo sites e sistemas com WordPressConstruindo sites e sistemas com WordPress
Construindo sites e sistemas com WordPress
 
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
 
Como criar um tema para WordPress
Como criar um tema para WordPressComo criar um tema para WordPress
Como criar um tema para WordPress
 
Wordpress e suas funções
Wordpress e suas funçõesWordpress e suas funções
Wordpress e suas funções
 
Desenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi BuilderDesenvolvimento de Módulos Divi Builder
Desenvolvimento de Módulos Divi Builder
 
Criando Sites Com CMS
Criando Sites Com CMSCriando Sites Com CMS
Criando Sites Com CMS
 
Curso de WordPress
Curso de WordPressCurso de WordPress
Curso de WordPress
 
Workshop Web e WordPress
Workshop Web e WordPressWorkshop Web e WordPress
Workshop Web e WordPress
 
Wordpress além do blog
Wordpress além do blogWordpress além do blog
Wordpress além do blog
 
Crud
CrudCrud
Crud
 
Tutorial codeigniter
Tutorial codeigniterTutorial codeigniter
Tutorial codeigniter
 
10 coisas para fazer logo após instalar o Wordpress
10 coisas para fazer logo após instalar o Wordpress10 coisas para fazer logo após instalar o Wordpress
10 coisas para fazer logo após instalar o 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...
 
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
 
Django Módulo Básico Parte II
Django Módulo Básico Parte IIDjango Módulo Básico Parte II
Django Módulo Básico Parte II
 
Introdução ao zend framework
Introdução ao zend frameworkIntrodução ao zend framework
Introdução ao zend framework
 
Minicurso FEAPA - WordPress: Plataforma para criação de sites
Minicurso FEAPA - WordPress: Plataforma para criação de sitesMinicurso FEAPA - WordPress: Plataforma para criação de sites
Minicurso FEAPA - WordPress: Plataforma para criação de sites
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 

Mehr von Fellyph Cintra

CSS 2022 um mundo novo de possibilidades
CSS 2022 um mundo novo de possibilidadesCSS 2022 um mundo novo de possibilidades
CSS 2022 um mundo novo de possibilidadesFellyph Cintra
 
CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph...
CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph...CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph...
CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph...Fellyph Cintra
 
Page experience road - WordCamp Athens 2022
Page experience road  - WordCamp Athens 2022Page experience road  - WordCamp Athens 2022
Page experience road - WordCamp Athens 2022Fellyph Cintra
 
Web stories the new visual storytelling format for the web
Web stories the new  visual storytelling format for the webWeb stories the new  visual storytelling format for the web
Web stories the new visual storytelling format for the webFellyph Cintra
 
Machine learning for mortal developers - Dublin.JS
Machine learning for mortal developers - Dublin.JSMachine learning for mortal developers - Dublin.JS
Machine learning for mortal developers - Dublin.JSFellyph Cintra
 
Machine learning for mortal developers - Fellyph Cintra
Machine learning for mortal developers -  Fellyph CintraMachine learning for mortal developers -  Fellyph Cintra
Machine learning for mortal developers - Fellyph CintraFellyph Cintra
 
Using machine learning to improve our WordPress application
Using machine learning to improve our WordPress applicationUsing machine learning to improve our WordPress application
Using machine learning to improve our WordPress applicationFellyph Cintra
 
WordCamp Brighton - Why use web components
WordCamp Brighton - Why use web componentsWordCamp Brighton - Why use web components
WordCamp Brighton - Why use web componentsFellyph Cintra
 
Accessibility workshop
Accessibility workshopAccessibility workshop
Accessibility workshopFellyph Cintra
 
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0Fellyph Cintra
 
Dublin js 2019 Fellyph Ctintra - Why use web components?
Dublin js 2019 Fellyph Ctintra - Why use web components?Dublin js 2019 Fellyph Ctintra - Why use web components?
Dublin js 2019 Fellyph Ctintra - Why use web components?Fellyph Cintra
 
Google I/O extended 2019 Fellyph Cintra
Google I/O extended 2019 Fellyph CintraGoogle I/O extended 2019 Fellyph Cintra
Google I/O extended 2019 Fellyph CintraFellyph Cintra
 
Work smart with Gutenberg - Fellyph Cintra
Work smart with Gutenberg - Fellyph CintraWork smart with Gutenberg - Fellyph Cintra
Work smart with Gutenberg - Fellyph CintraFellyph Cintra
 
PWA - Progressive WordPress Apps
PWA - Progressive WordPress AppsPWA - Progressive WordPress Apps
PWA - Progressive WordPress AppsFellyph Cintra
 
Amp for WordPress - Tech lunch Inspiration Marketing
Amp for WordPress -  Tech lunch Inspiration MarketingAmp for WordPress -  Tech lunch Inspiration Marketing
Amp for WordPress - Tech lunch Inspiration MarketingFellyph Cintra
 
From marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp BelfastFrom marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp BelfastFellyph Cintra
 
Techtalk CSS4 - Fellyph Cintra
Techtalk CSS4 - Fellyph CintraTechtalk CSS4 - Fellyph Cintra
Techtalk CSS4 - Fellyph CintraFellyph Cintra
 
Do marketplace ao WordPress - WordCamp BH 2015
Do marketplace ao WordPress -  WordCamp BH 2015Do marketplace ao WordPress -  WordCamp BH 2015
Do marketplace ao WordPress - WordCamp BH 2015Fellyph Cintra
 
Dicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp SalvadorDicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp SalvadorFellyph Cintra
 
Workflow WordPress + JavaScript - WordCamp Rio
Workflow WordPress + JavaScript  - WordCamp RioWorkflow WordPress + JavaScript  - WordCamp Rio
Workflow WordPress + JavaScript - WordCamp RioFellyph Cintra
 

Mehr von Fellyph Cintra (20)

CSS 2022 um mundo novo de possibilidades
CSS 2022 um mundo novo de possibilidadesCSS 2022 um mundo novo de possibilidades
CSS 2022 um mundo novo de possibilidades
 
CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph...
CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph...CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph...
CSS 2022: un mundo completamente nuevo - Presentacion WC Pontevedra - Fellyph...
 
Page experience road - WordCamp Athens 2022
Page experience road  - WordCamp Athens 2022Page experience road  - WordCamp Athens 2022
Page experience road - WordCamp Athens 2022
 
Web stories the new visual storytelling format for the web
Web stories the new  visual storytelling format for the webWeb stories the new  visual storytelling format for the web
Web stories the new visual storytelling format for the web
 
Machine learning for mortal developers - Dublin.JS
Machine learning for mortal developers - Dublin.JSMachine learning for mortal developers - Dublin.JS
Machine learning for mortal developers - Dublin.JS
 
Machine learning for mortal developers - Fellyph Cintra
Machine learning for mortal developers -  Fellyph CintraMachine learning for mortal developers -  Fellyph Cintra
Machine learning for mortal developers - Fellyph Cintra
 
Using machine learning to improve our WordPress application
Using machine learning to improve our WordPress applicationUsing machine learning to improve our WordPress application
Using machine learning to improve our WordPress application
 
WordCamp Brighton - Why use web components
WordCamp Brighton - Why use web componentsWordCamp Brighton - Why use web components
WordCamp Brighton - Why use web components
 
Accessibility workshop
Accessibility workshopAccessibility workshop
Accessibility workshop
 
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
WCEU 2019 recap - AMP Plugin 1.2 and Gutenberg 6.0
 
Dublin js 2019 Fellyph Ctintra - Why use web components?
Dublin js 2019 Fellyph Ctintra - Why use web components?Dublin js 2019 Fellyph Ctintra - Why use web components?
Dublin js 2019 Fellyph Ctintra - Why use web components?
 
Google I/O extended 2019 Fellyph Cintra
Google I/O extended 2019 Fellyph CintraGoogle I/O extended 2019 Fellyph Cintra
Google I/O extended 2019 Fellyph Cintra
 
Work smart with Gutenberg - Fellyph Cintra
Work smart with Gutenberg - Fellyph CintraWork smart with Gutenberg - Fellyph Cintra
Work smart with Gutenberg - Fellyph Cintra
 
PWA - Progressive WordPress Apps
PWA - Progressive WordPress AppsPWA - Progressive WordPress Apps
PWA - Progressive WordPress Apps
 
Amp for WordPress - Tech lunch Inspiration Marketing
Amp for WordPress -  Tech lunch Inspiration MarketingAmp for WordPress -  Tech lunch Inspiration Marketing
Amp for WordPress - Tech lunch Inspiration Marketing
 
From marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp BelfastFrom marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp Belfast
 
Techtalk CSS4 - Fellyph Cintra
Techtalk CSS4 - Fellyph CintraTechtalk CSS4 - Fellyph Cintra
Techtalk CSS4 - Fellyph Cintra
 
Do marketplace ao WordPress - WordCamp BH 2015
Do marketplace ao WordPress -  WordCamp BH 2015Do marketplace ao WordPress -  WordCamp BH 2015
Do marketplace ao WordPress - WordCamp BH 2015
 
Dicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp SalvadorDicas para Workflow WordPress + JavaScript - WordCamp Salvador
Dicas para Workflow WordPress + JavaScript - WordCamp Salvador
 
Workflow WordPress + JavaScript - WordCamp Rio
Workflow WordPress + JavaScript  - WordCamp RioWorkflow WordPress + JavaScript  - WordCamp Rio
Workflow WordPress + JavaScript - WordCamp Rio
 

Criando seu primeiro tema do zero com WordPress

  • 1. CRIANDO SEU PRIMEIRO TEMA DO ZERO Fellyph Cintra domingo, 14 de julho de 13
  • 2. Fellyph Cintra (@fellyph) Gerente de ProjetosTech Center BlackBerry http://www.fellyph.com.br/blog/ domingo, 14 de julho de 13
  • 3. domingo, 14 de julho de 13
  • 4. domingo, 14 de julho de 13
  • 5. WORDPRESS Wordpress é um sistema de gestão de conteúdo, também conhecido como CMS( do inglês Content Management Systems),  escrito em PHP. domingo, 14 de julho de 13
  • 7. SE IDENTIFICARMOS UM PADRÃO DE INFORMAÇÃO PODEMOS UTILIZAR O WORDPRESS domingo, 14 de julho de 13
  • 8. TRABALHANDO LOCALMENTE Para trabalhar com o wordpress temos que acessar o endereço: http://www.wordpress.org Lá temos a última versão do WordPress disponível para download. domingo, 14 de julho de 13
  • 9. TRÊS PASSOS MÁGICOS 1 - Montar o ambiente (local ou online) 2 - Criar banco 3 - Configurar o wp-config(arquivo de configuração do WordPress) domingo, 14 de julho de 13
  • 10. PREPARANDO AMBIENTE LOCAL Para trabalharmos localmente com o WordPress precisamos configurar o Apache+mySQL + PHP para isso vamos trabalhar com XAMPP, MAMP,WAMP ou LAMP. É uma instalação pre-configurada desses recursos. * COM O AMBIENTE PRONTO JOGAMOS A PASTA DO WORDPRESS NA PASTA HTDOCS OU WWW DEPENDENDO DO AMBIENTE domingo, 14 de julho de 13
  • 11. CRIANDO O BANCO DE DADOS Com o nosso ambiente local instalado, agora precisamos criar o nosso banco. Para acessar o administrador de banco de dados no servidor local através do seguinte endereço : http://localhost/phpmyadmin   domingo, 14 de julho de 13
  • 13. EDITANDO O ARQUIVO DE CONFIGURAÇÃO Com o ambiente pronto e o banco de dados criado, agora precisamos editar o nosso arquivo wp-config.php(wp-config- sample.php) domingo, 14 de julho de 13
  • 15. ESTRUTURA DO WORDPRESS domingo, 14 de julho de 13
  • 16. ORGANIZAÇÃO DE PASTAS Nos arquivos do wordpress possuem três pastas básicas: wp-admin: Tem todo o meu sistema de adiministração wp-include: Tem todas as funcionalidades do wordpress, funções e mêtodos especiais. wp-content:Tem tudo relacionado a conteúdo, plugins, uploads, e temas.  domingo, 14 de julho de 13
  • 17. CRIANDO SEU PRIMEIRO TEMA O wordpress passa a reconhecer um tema com apenas dois arquivos básicos. Index.php e style.css domingo, 14 de julho de 13
  • 18. DEFININDO OS DETALHES DO SEUTEMA No arquivo style.css ficam as definições do seu tema. Elas são configuradas em um comentário no começo do arquivo. Exemplo: Theme Name: Nome do meu tema Theme URI: http://www.urldomeutema.com Author: Nome do autor. Author URI: http://urldoautor.com Description: Descrição do tema Version: 1.0 domingo, 14 de julho de 13
  • 21. INCLUDETAGS Como o nome sugere, são comandos de inclusão de blocos de códigos para montagem e modularização do nosso projeto, muito útil para realizar o reúso do nosso código, são eles: get_header()  - incorpora o arquivo header.php(referente ao cabeçalho) get_footer() - incorpora o footer.php  arquivo responsável pelo rodapé do meu tema get_sidebar() - incorpora o sidebar.php (barra lateral reponsável por uma série de recursos do wordpress) domingo, 14 de julho de 13
  • 22. LOOP <?php while ( have_posts () ): the_post(); ?>   Conteúdo a ser executado a cada iteração... <?php endwhile; ?> Quando o wordpress carrega uma url ele verifica qual tipo de informação o usuário deseja, assim consulta a informação no banco e deixa disponível para exibição, não temos idéia da quantidade de posts que virão, assim utilizamos a função have_posts() verifica se existem post a serem exibidos na fila. A função the_post() faz o acesso ao post e atualiza o ponteiro de acesso da informação a cada chamada. domingo, 14 de julho de 13
  • 23. WP_HEAD E WP_FOOTER Logo quando criar o header.php é extremamente importante adicionar antes de fechar a tag <head> adicionar a função :  wp_head(); Ela é responsável por gerenciar todos os includes do seu tema e plugins. Com a mesma funcionalidade devemos adicionar ao footer.php antes de fechar a tag <body> a função: wp_footer(); domingo, 14 de julho de 13
  • 24. RECOLHENDO INFORMAÇÕES GERAIS DO WP O Wordpress contém uma função bloginfo() que fornece informações do seu site. Passamos como parâmetro qual informação queremos resgatar.   <?php bloginfo('qual o parâmetro'); ?>   exemplo :   <h1><?php bloginfo('name'); ?></h1> A função acima resgata o nome do site domingo, 14 de julho de 13
  • 25. EXEMPLOS PARA O BLOGINFO() name: nome do blog description: descrição do blog admin_email: email do administrador stylesheet_directory: url da pasta do css stylesheet_url: url do css template_directory: diretorio do tema template_url: url do tema domingo, 14 de julho de 13
  • 26. POST_CLASS() Essa função gera automaticamente uma série de classe relacionadas ao tipo de conteúdo que está sendo carregado: [loop] <div <?php post_class(); ?> > " <h2><?php the_title() ?></h2> " <?php the_content() ?> </div> [fim do loop] Também podemos atribuir um id único: <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> domingo, 14 de julho de 13
  • 27. QUERY_POSTS() Query_posts() é uma função de filtro sobre o dados do loop do WordPress, independente da url o que será exibido é controlado pelo query_posts(). Exemplo:   <?php // The Query query_posts( $args ); // The Loop while ( have_posts() ) : the_post(); ... domingo, 14 de julho de 13
  • 28. EXEMPLOS DE QUERY query_posts('cat=3'); - Todos os posts da categoria 3   query_posts( 'cat=-3' );  - Todos os posts menos da categoria 3   query_posts( 'posts_per_page=5' ); - Apenas os 5 últimos posts   query_posts('cat=2,6,17,38'); - grupo de categorias   query_posts('tag=cooking'); - por tag        domingo, 14 de julho de 13
  • 29. MAIS EXEMPLOS category_name=slug-da-categoria : cria um filtro através do slug da categoria. p=5 : carrega um post específico posts_per_page = -1 ou showposts = -1 : lista todos os posts de uma categoria year=2012 : filtra os posts de um ano específico monthnum : filtra os posts de um mês(numeral) específico domingo, 14 de julho de 13
  • 30. PERSONALIZANDO A ORDEM DOS POSTS No query_posts podemos personalizar a ordem de listagem definindo dois parâmetros “order” e o “orderby”. O order :ASC ou DESC. orderby : define qual a propriedade que ele irá fazer a ordenação(padrão é por data de publicação): ID' - ordena por ID. 'author' - Ordena por au. 'title' - Order by title. 'modified' - Order by last modified date. 'parent' - Order by post/page parent id. 'rand' - Random order. 'comment_count' - Ordena por comentário ( disponível na versão 2.9 ou superior). Lista completa : http://codex.wordpress.org/Class_Reference/WP_Query#Parameters domingo, 14 de julho de 13
  • 31. PAGINAÇÃO Por padrão o worpdress exibe 10 posts por loop. Para criar uma paginação utilizamos duas funções : next_posts_link(’texto do link'): cria um link para próxima página previous_posts_link(’texto do link’): criar um link para a página anterior A estrutura de paginação o wordpress gerência automaticamente criando links só quando necessário domingo, 14 de julho de 13
  • 32. QUERY_POSTS X PAGINAÇÃO Esta função faz acesso as informações da query do loop. Exemplo:  <?php $page = (get_query_var('paged')) ? get_query_var('page') : 1;  ?> <h1>Você está na página : <?php echo $page; ?></ h1> domingo, 14 de julho de 13
  • 33. QUERY_POSTS() X PAGINAÇÃO $paged = (get_query_var("paged")) ? get_query_var("paged") : "1" ; query_posts(array( 'posts_per_page' => 5, 'paged' => $paged )); domingo, 14 de julho de 13
  • 34. BOOTSTRAP • Scaffolding • grid system • fluid grid system • resposive design • Componentes • Dropdowns • Navs • Breadcrumbs.. • JavaScript Components • Transitions • Modal • Dropdown • Tab • Carousel • Collapse... domingo, 14 de julho de 13
  • 36. REFERÊNCIAS • SublimeTXT : http://www.sublimetext.com/ • Plugins: http://wbond.net/sublime_packages/package_control • Emmet: https://github.com/sergeche/emmet-sublime#how-to-install • Codex!: http://codex.wordpress.org/ • Grupo no face: https://www.facebook.com/groups/wordpress.brasil/ • BLOG: http://www.fellyph.com.br/blog/ • GIT: http://www.github.com/fellyph/ domingo, 14 de julho de 13
  • 37. OBRIGADO PORTO ALEGRE domingo, 14 de julho de 13