Publicado em 18/01/2012 • Arquivado em Código / Hacks, Wordpress • 33 Comentários
Como criar templates wordpress é uma das perguntas mais comuns que recebemos. Muitas pessoas percebem de html e css, mas quando chega a hora de fazer alterações ou de criar um tema não sabem como fazer, por isso decidimos criar uma série de artigos que vos vai ensinar a criar wordpress themes de raiz. Vamos dar a informação mais importante e explicar como tudo deve de ser feito.
Se esta informação interessa-lhe, pode receber todos os artigos no seu email através da newsletter gratuita. Se ainda não subscreveu, faça-o agora!

Nesta série de artigos sobre a construção de um wordpress theme vamos tentar falar na informação mais importante, usando sempre uma linguagem simples para que todos possam entender.
Vamos seguir a seguinte ordem:
Para poder seguir este tutorial e conseguir criar o seu tema, deve de:
O WordPress é um gestor de conteúdo que no inicio pode fazer alguma confusão as muitas pastas e ficheiros que tem, mas você só tem que se preocupar com 2 coisas: o ficheiro wp-config.php e a pasta wp-content.
O ficheiro wp-config.php contém toda a informação necessária para o WordPress se ligar a base de dados (banco de dados) e funcionar normalmente. Já a pasta wp-content é onde ficam os temas e os plugins.

Como neste tutorial vamos aprender a fazer temas, é importante que você saiba onde ele tem que ser colocado para poder ser usado no seu site. Como dissemos anteriormente, os temas e os plugins ficam dentro da pasta wp-content. Dentro desta pasta existem outras duas chamadas de “plugins” e themes. Nós vamos trabalhar dentro da pasta “themes” (wp-content/themes).

Depois do tema estar pronto, você tem transferir a pasta do tema para dentro desta pasta “themes”. Só assim você vai conseguir ativa-lo e usar-lo online.
Antes de começar a criar um template é preciso saber como ele funciona. Um tema para wordpress é basicamente uma página normal feita em HTML, mas dividida em partes. A parte que diz respeito ao cabeçalho fica num ficheiro, a parte do código que diz respeito ao conteúdo fica noutro e assim por diante.
As partes/ficheiros básicos e essenciais de um tema são os seguintes:
Já explicamos em cima o que deve de colocar em cada parte, mas para que não restem dúvidas criamos uma página normal em HTML e vamos ensinar a separar cada parte.
É importante que antes de começar criar o seu wordpress theme, já tenha as páginas feitas em HTML. Depois só precisa de dividir essas páginas pelos vários ficheiros do tema e usar php para que funcione bem.
Este código é de uma simples página HTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml"> <head> <title>Página de HTML</title> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body> <div id="corpo"> <div id="header"> <h1>Titulo do Site</h1> <h2>Descrição do site</h2> <ul id="nav"> <li><a href="#">Página 1</a></li> <li><a href="#">Página 2</a></li> <li><a href="#">Página 3</a></li> <li><a href="#">Página 4</a></li> </ul> </div> <div id="conteudo"> <div id="artigos"> <div class="artigo"> <h2>Titulo do artigo 1</h2> <p>Postado por administrador em 16/01/2012</p> <p>Conteudo do artigo</p> </div> <div class="artigo"> <h2>Titulo do artigo 2</h2> <p>Postado por administrador em 16/01/2012</p> <p>Conteudo do artigo</p> </div> </div> <div id="sidebar"> <ul class="widget"> <h3>Widget</h3> <li><a href="#">Página 1</a></li> <li><a href="#">Página 2</a></li> <li><a href="#">Página 3</a></li> <li><a href="#">Página 4</a></li> </ul> <ul class="widget"> <h3>Widget</h3> <li><a href="#">Categoria 1</a></li> <li><a href="#">Categoria 2</a></li> <li><a href="#">Categoria 3</a></li> <li><a href="#">Categoria 4</a></li> </ul> </div> </div> <div id="footer"> <p>© 2012 - Todos os Direitos Reservados</p> </div> </div> </body> </html>
Vamos começar de cima para baixo, ou seja, no header.php (cabeçalho). Comece por criar um novo ficheiro no seu bloco de notas, copiar o código deste o inicio até ao fim da div “header” e colar no bloco de notas. Depois grave com o nome header.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml"> <head> <title>Página de HTML</title> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body> <div id="corpo"> <div id="header"> <h1>Titulo do Site</h1> <h2>Descrição do site</h2> <ul id="nav"> <li><a href="#">Página 1</a></li> <li><a href="#">Página 2</a></li> <li><a href="#">Página 3</a></li> <li><a href="#">Página 4</a></li> </ul> </div>
Depois do cabeçalho, passamos a div onde o conteúdo (artigos e sidebar) é mostrado. Então nos ficheiros index.php, single.php, page.php, archive.php e search.php, colamos toda a div “conteudo” com excepção da parte da sidebar. O código é este:
<div id="conteudo"> <div id="artigos"> <div class="artigo"> <h2>Titulo do artigo 1</h2> <p>Postado por administrador em 16/01/2012</p> <p>Conteudo do artigo</p> </div> <div class="artigo"> <h2>Titulo do artigo 2</h2> <p>Postado por administrador em 16/01/2012</p> <p>Conteudo do artigo</p> </div> </div> <!--o código da sidebar ficava aqui--> </div>
Não colocamos o código da sidebar no passo anterior, porque esse código deve de ficar no sidebar.php, um ficheiro que contém todo o conteúdo da sidebar.
<div id="sidebar"> <ul class="paginas"> <li><a href="#">Página 1</a></li> <li><a href="#">Página 2</a></li> <li><a href="#">Página 3</a></li> <li><a href="#">Página 4</a></li> </ul> <ul class="categorias"> <li><a href="#">Categoria 1</a></li> <li><a href="#">Categoria 2</a></li> <li><a href="#">Categoria 3</a></li> <li><a href="#">Categoria 4</a></li> </ul> </div>
Neste momento toda a parte do conteúdo também está pronta. Vamos passar ao que falta, ou seja, ao rodapé do tema. Vamos usar para isso o footer.php, o ficheiro onde deve de ficar a nossa div “footer” e o código restante.
<div id="footer"> <p>© 2012 - Todos os Direitos Reservados</p> </div> </div> </body> </html>
Agora toda a página HTML que tínhamos no inicio está dividida em partes.
O próximo passo é adicionar algumas tags para que o wordpress, quando usar o tema, possa “juntar” todas as partes e mostrar todas as partes do tema.
Para fazer isto, vamos usar 3 tags que servem para ir chamar/incluir outras partes do tema. Numa página como o index.php, precisamos de “chamar” o cabeçalho (header.php), lateral (sidebar.php) e o rodapé (footer.php):
<?php get_header(); ?> <?php get_sidebar(); ?> <?php get_footer(); ?>
Cada uma destas tags devem de ser colocadas no lugar onde o código das outras páginas deve de ser incluído. Por exemplo, no index.php precisamos de incluir o header.php logo no inicio, o sidebar.php no lugar onde antes estava o código da sidebar e no fim da página, temos que incluir o footer.php.
Então os ficheiros index.php, single.php, page.php, archive.php e search.php ficam assim:
<?php get_header(); ?> <div id="conteudo"> <div id="artigos"> <div class="artigo"> <h2>Titulo do artigo 1</h2> <p>Postado por administrador em 16/01/2012</p> <p>Conteudo do artigo</p> </div> <div class="artigo"> <h2>Titulo do artigo 2</h2> <p>Postado por administrador em 16/01/2012</p> <p>Conteudo do artigo</p> </div> </div> <?php get_sidebar(); ?> </div> <?php get_footer(); ?>
Como pode ver, as tags foram adicionas em 3 lugares diferentes, a primeira chama o header, a segunda chama a sidebar e a terceira chama o footer.
Estes são os primeiro passos para a criação de um tema. Depois temos que adicionar várias tags, criar o loop que vai fazer com que os artigos e páginas sejam mostradas e também criar um stylesheet para que o tema fique apresentável nos navegadores de internet. Tudo isto será falado nos próximos artigos.
Neste primeiro artigo demos os primeiros passos na criação de um template para wordpress. Começamos por saber onde é que os temas estão, como são organizados, quantos ficheiros tem um tema, aprendemos a separar uma página HTML pelos vários ficheiros do tema e também introduzimos pela primeira vez PHP nas páginas para “chamar” outras partes do tema. O mais básico está feito.
No próximo artigo vamos falar no stylesheet e também no header.php por isso fique atento! Se ainda não acompanha o wptotal, recomendamos que passe pela página de subscrição para saber como nos pode seguir
Se tiver alguma dúvida, deixe um comentário.
Escrito por Sara Vieira
Eu, na internet:
Eu sou uma Webdesigner e programadora baseada em espinho com uma paixão pelas novas vertentes do webdesign como o Wordpress, HTML5 e CSS3.
Partilhe Este Artigo
Simplesmente sensacional, era esta série de artigos de como criar um tema para wordpress que faltava no blog. Muitos comprimentos e parabéns pelo artigo.
Obrigado pelo comentário
Este artigo está fixe!Ficou muito bem explicado e melhor que os outros que encontramos ai na internet.
Abraço!
Concordo com vc …
Olá João,
obrigado pelo comentário, espero não desapontar
Realmente muito bom, continue, pois estaremos a espera !
Olá Alex,
obrigado pelo comentário e também pelo elogio sobre o post
Anda aí pessoal a copiar os teus posts. Tipo o Ensinar Dinheiro.
Boa sorte para ti!
Olá “Anónimo”,
obrigado pelo comentário e pelo alerta. Infelizmente isso tem acontecido, mas também são sites que duram poucos meses online…
o melhor é continuar a trabalhar e não se preocupar com isso
Abraço
Muito bom mesmo, vi vários mas eram enormes, este sendo como um curso será muito melhor, vou acompanhar e criar um tema, no aguardo dos próximos. Obrigado
Olá Charles,
obrigado pelo comentário
Olá Celso, e o próximo tem previsão? Parte 02
Finalmente!!
Espero que chegues a ensinar a criar Custom Post Types, o grande sucesso agora do WordPress. Vai fazer-me muito geito
Fazia falta uma pessoa que precebe-se mesmo de html, css, php no wptotal, um grande site wordpress cada vez mais completo
Olá D. Leal,
obrigado pelo comentário.
Vamos falar nisso mas num artigo separado, esta série é para ensinar a criar temas simples e depois os outros tutoriais então vão ensinar a criar um tema 5 estrelas
Muito bom mesmo, bem explicado , melhor que o anteriar publicado aqui mesmo . Parabens
Obrigado pelo comentário
Parabéns, suas dicas e tutorias sobre wordpress sãos umas das melhores na web!
Vou compartilhar!
Olá José,
obrigado pelo seu comentário e pelos elogios
Celso
Pessoal quem quer aprender sobre custom post types diriga-se a escolawp.com, muito bom. tem uma optima serie pleo nossoa migo vitor carvalho.
Tens aí o link: http://www.escolawp.com/2011/11/guia-definitivo-para-criar-custom-post-types-parte-1/ e tb tens um ótimo plugin que ter permite fazer isso que é o Custom Post Type UI, realmente bom e abordado em vários blogs.
só dei uma sugestão, porque o Vitor e o Paulo Fastino fazem uma boa equipa e tem um blog muito bom.
Cumprimentos e espero ter ajudado. Mas Celso continuamos na mesma á espera do artigo eheh
Olá Celso mais uma vez. Poderá indicar-me como fazer “Estatísticas” como tem no footer do seu blog. Cumprimentos.
Muito bom o artigo, existe muito na internet, mas essa série vai ser muito boa e útil para quem usa o WP e deseja se aprofundar, qual a possibilidade de ter também VA dos pos ate mais!
Primeiramente parabéns pelo artigo.
Mas como puder perceber haverá outras partes, elas iram demora muito para
serem publicadas?
Estou tão curioso, espero que saiam já hoje eheh
Parabens pelo artigo, um dos melhores que encontrei até agora… Continue assim, o site esta de parabens!
Parabéns pelo tutorial, vou seguir com atensão os artigos que se senguem.
Bom trabalho,
Filipe Covas
Uma das melhores explicações que já vi sobre o tema. Estou acostumado a ver videos sobre o assunto, mas esse tutorial vale a pena ler.
Dos tutoriais que consultei na web, esse foi o que melhor me atendeu.
Parabéns
Mal posso esperar pelo segundo capitulo.
Parabens.
Caros Sara e Celso,
Simplesmente muito obrigado por publicar este pequeno artigo/tutorial. Por favor, não parem de escrever coisas interessantes como esta nunca.
Forte abraço a todos!
Excelente Tutorial!
Mas você poderia fazer um tutorial que mostra-se os métodos wordpress mais usados nos themes.
Uma referencia de métodos entende?
Parabéns Pelo Tutorial.
Até
Passando só pra parabenizar e dizer que a organização do tutorial está excelente. Procuro um tutorial de criação de template pra wordpress a muuuuito tempo.
Eu estava só vendo as atualizações do blog via email, mas agora vou visitar diariamente pra ver as novidades, estou arrependido, rs.
Ansioso para as novas partes do tutorial.
Abraços.
Bom dia Celso, tutorial muito bem explicado, o seu é o melhor em português, apesar que existem outros também em português só que não é bem explicado que nem o seu.
Está de Parabéns