SUBSCREVE POR: RSS | E-MAIL

Fevereiro 7th, 2010 por Sérgio Soares

2 Comentarios »

Saiba como obter diferentes Templates para diferentes Posts no Wordpress

Categoria(s): Wordpress

criar templates para posts

Há dias tive a necessidade de criar uma página especifica para um determinado post, de uma determinada categoria. Como sabem, o wordpress disponibiliza uma página php para apresentar todos os posts, a página single.php. Neste tutorial vamos aprender um pequeno truque para contornar esta situação e obter diferentes templates para diferentes posts.

O problema..

No projecto que estou a desenvolver, um site desportivo, tenho várias categorias (entrevistas, notícias, jogos agendados, etc) que precisam de ter um determinado template. Ou seja, não quero usar o ficheiro single.php para cada um deles… Como resolveriam este problema?

A resposta a esse problema!

Muito simples. Vamos imaginar o seguinte. Eu tenho uma categoria chamada Wordpress. Esta categoria possui um ID que a define, e vai ser a partir daqui que vamos criar os diversos templates para as diversas categorias.

Para saber o ID de uma categoria, podem ir à secção Posts – Categorias e ao passarem o rato sobre a categoria, o seu ID aparece na barra inferior do teu explorador.

Resumindo, o que vamos fazer é criar um ficheiro single para cada ID das categorias. Como?

O código

Abra o ficheiro single.php e no topo deste insira o seguinte código.

<?php
$category = get_the_category();
$currentcat = $category[0]->cat_ID;
if (file_exists(TEMPLATEPATH."/single-$currentcat".".php")) {
include(TEMPLATEPATH."/single-$currentcat".".php");
} else {
?>

Primeiro o que este código faz é obter a categoria do post em questão, através da tag get_the_category(); guardando essa informação numa variável. De seguida atribui a primeira categoria à variável $currentcat.

Atenção que este método pode ter algumas anomalias se existirem várias categorias referentes ao mesmo post.

A seguir, o código php final faz com que seja aberto o ficheiro single correspondente à primeira categoria. Caso esse ficheiro não exista, abre o single.php como seria de esperar.

Para finalizar, precisamos de colocar o seguinte código no final do ficheiro single.php, normalmente antes do footer.

<?php } ?>

Depois de ter colocado o código completo no ficheiro single.php, encontre o ID da categoria onde quer utilizar um determinado template e crie um novo ficheiro com o nome single-ID.php(onde ID é o id da categoria).

Este método vai dar-lhe a opurtunidade de ter vários templates para diferentes categorias, o que pode ser muito vantajoso em alguns projectos.

Ir para o Topo

2 Comentários »

1



Fevereiro 22nd, 2010
ariel disse:

olá Sergio td bom?

estou com o mesmo problema que vc, por isso cai aqui.

uma coisa não ficou clara para mim:

eu vou usar o codigo para q a single.php pegue somente uma categoria. ate aqui ok.

e como eu faço para mudar o template para outra categoria?

abs
Ariel

2



Fevereiro 22nd, 2010
ariel disse:

cara, desculpa, li o post com mais calma e identifiquei..

abs

Queres usar um Gratavar(imagem pessoal), clica aqui

Publicar um comentário

Get Adobe Flash playerPlugin by wpburn.com wordpress themes