WordPress Logo

Criando um tema para WordPress – Parte 5

Hoje vamos continuar com a parte 5 da série de posts onde mostro o passo-a-passo da criação de um tema pra WordPress.

Se você ainda não está acompanhando, veja as outras partes dessa sequência de artigos:

Página interna do post (single.php)

Eu não sei exatamente por que chamo esse tipo de página de “interna do post” ou “interna da notícia”, mas essa é a página que mostra todo o conteúdo do post em questão.

Segundo a hierarquia de templates do WordPress,  ele irá mostrar o template criado nos seguintes arquivos (sempre o primeiro que ele achar):

  1. single-{post_type}.php – Se o post que está sendo acessado é do post-type “produto“, o WP iria procurar por um single-produto.php
  2. single.php
  3. index.php

Então, como nós queremos criar uma single para os posts normais, vamos criar o single.php, já que o index.php está sendo usado pela home do blog.

Podemos começar o single.php copiando todo o index.php, que ele já vai funcionar:

Porém, se for pra deixar ele exatamente igual ao index.php não precisaríamos criar o single.php, é só deixar que o WordPress use o index.php  (ultima opção na hierarquia de templates).

Então vamos fazer algumas mudanças..

Listando as categorias e tags de um post

Vamos criar um rodapé no post, dentro dele vamos mostrar a lista das categorias e tags (separadas por vírgulas):

Usamos agora duas novas funções:

Tirando a diferença nos parâmetros, ambas funções funcionam de forma bem parecida.

Exibindo o thumbnail principal de um post

Podemos também editar o cabeçalho do post e exibir seu thumbnail com a função the_post_thumbnail( tamanho, atributos ), assim:

Percebam que não usei nenhum dos parâmetros da função, pois quero justamente o tamanho padrão (configurado por dentro do painel de controle) e manter os atributos (alt, title) originais.

Mas agora tem uma pegadinha! Você precisa habilitar os thumbnails (no seu tema) caso queira que seus posts e páginas possam ter uma imagem destacada, no caso o thumbnail que estamos exibindo ali em cima.

Habilitando thumbnails em um tema

Para habilitar os thumbnails é só criar na raiz do seu tema (ou editar se ele já existir) o arquivo functions.php, que é – basicamente – o arquivo central do seu tema, onde você define todo tipo de configuração ligada ao tema:

Usamos a função add_theme_support( feature ) que serve pra habilitar uma feature no seu tema, as features que podem ser habilitadas são:

  • post-formats – Formatos diferentes de post, vide: http://codex.wordpress.org/Post_Formats
  • post-thumbnails – Thumbnails (imagens destacadas) para posts e páginas
  • custom-background – Background customizável (imagem/cor) através do admin
  • custom-header – Header customizável (imagem, logo, texto) através do admin
  • automatic-feed-links – Links para feeds RSS e ATOM gerados automaticamente no wp_head(), que eu não gosto de usar por alguns motivos

Finalizando

Agora nosso template já tem a estrutura básica (e recomendada) de um template pro WordPress, incluindo a listagem e a página interna do post.

Aceito sugestões sobre o que abordar na próxima parte! :)

Acompanhe o template que estou criando pro meu blog, com mais algumas coisinhas (que não coloquei aqui), no GitHub: https://github.com/TiuTalk/blog.thiagobelem.net

Gostou? Então comenta, compartilha e recomenda! :)

Abraços e até a próxima!

22 thoughts on “Criando um tema para WordPress – Parte 5

  1. Pablo

    Parabéns Thiago, o posts são muito bem explicados e sem dúvidas está ajudando a muita gente assim como a mim.

    Reply
  2. lolz1m

    Eaew, muito legal os tutoriais.

    Gostaria de sugerir para a próxima parte, explicar como criar páginas independentes do blog.

    Por exemplo, eu tenho uma página principal “index.php” que exibe algumas informações do meu site / blog,

    E eu tenho um menu que redireciona para a página de blog / contato

    Também gostaria que fossem feitos exemplos de taxonomias

    Reply
  3. Guilherme

    Parabéns pelos posts e pela disposição em ensinar!

    Como já comentaram aqui, acho que seria muito interessante falar um pouco sobre menus.

    Abraço

    obs: também seria legal se você falasse bons livros completos na sua opinião sobre WP =)

    Reply
  4. Dermeval Junior

    Descobri o seu blog até meio por acaso.

    Não tem muito tempo que lido com o WordPress, só uns seis meses quando resolvi lançar o meu blog, e ainda não desenvolvi nenhum tema, apenas modifiquei um já existente exatamente para o blog, porém venho pensando em começar a desenvolver meus próprios temas para WordPress e procurando tutoriais acabei caindo aqui, de para-quedas.

    Gostei muito desse tutorial, vou estudar com bastante calma para ter uma base para começar desenvolver meus próprios temas.

    Abraços

    Reply
  5. rafael fernandes

    Cara, sou seu fã, já aprendi e reaprendi muita coisas aqui em em seu blog, e estes dias um amigo veio e me disse, se eu entendesse 50% do que você entende de PHP, eu estaria criando vários templares WP e estaria rico, então fui pesquisar, e vim direto aqui quando vi que era seu blog, e estou aprendendo, muito bem explicado, parabéns mais uma vez e estou esperando a próxima.

    Abraços

    Reply
  6. Ruan

    E ai thiago, muito boa a sequencia de posts sobre o WordPress, estou começando a trabalhar com ele, um assunto que acho que seria interessante seria sobre personalizar e criar menus pro blog/site, ensinando algumas coisas sobre como personaliza-lo no css e etc com as classes que o WordPress cria pra gente e etc.
    No mais, queria deixar meus parabens pelo blog, tem ajudado a muitos, valeu^^

    Reply
  7. Evandro Ribeiro

    Fala Thiago, outro ótimo post seu parabéns.
    Primeiro gostaria de saber o motivo de não gostar de usar o “automatic-feed-links” nos temas e uma sugestão para o próximo tópico seria a falar de integração com redes sociais e também como usar o sistema de comentários do facebook de forma prática e sem dores de cabeça…
    Esperando pelos próximos posts e mais uma vez parabéns…

    Reply
    1. Thiago Belem Post author

      Evandro,

      Resumindo bastante, pra usar o automatic-feed-links eu teria que usar o wp_head(), o que acaba gerando muito HTML que eu considero dispensável. Porém alguns plugins precisam do wp_head() pra funcionar, mas como eu crio o tema sem pensar/depender dos plugins, acabo não usando ele e incluindo “na mão” a chamada pro RSS.

      Reply
  8. Ivo

    Massa! Sera legal se você fosse vendo funcionalidades diferentes em cada template e fosse colocando como faze-las, talvez nesse mesmo tutorial, ou em um com outro nome, tipo “O que mais se pode fazer em um layout do wordpress”. Ficaria muito bom = )

    Reply
  9. Pingback: Criando um tema para WordPress – Parte 4 - Thiago Belem / Blog

Deixe uma resposta