Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RSS iMasters

[Resolvido] Criando template para as subcategorias

Recommended Posts

As últimas versões do WordPress melhoraram muito a hierarquia de templates, possibilitando criar modelos usando slug de tags ou categorias (category-noticias.php), nome dos autores (author-marcelo.php), tipos de arquivos (image.php) e até criar templates para tipos de posts (single-evento.php archive-evento.php).

 

Uma coisa da qual sinto falta no WordPress é a possibilidade de criar um template para subcategorias. Dessa forma, podemos dividir o site em áreas com cores específicas ou com sidebars diferenciados, por exemplo.

 

Para resolver esse problema, existe uma função que recupera as subcategorias de uma dada categoria (get_term_children) e as retorna em um array. Com isso podemos usar a template tag is_category passando esse array como parâmetro.

 

Por fim basta condicionar o carregamento dos templates no arquivo category.php:

 

if( is_category( 1 ) or is_category( get_term_children( 1, 'category' ) ) )

include( 'category-noticias.php' );

elseif( is_category( 2 ) or is_category( get_term_children( 2, 'category' ) ) )

include( 'category-eventos.php' );

else

include( 'category-default.php' ); Assim, para a categoria 1 e suas respectivas filhas, será usado o template category-noticias.php, já para a categoria 2 e suas respectivas filhas será usado o template category-eventos.php e para as demais categorias, será usado o template category-default.php.

 

Para manter o código limpo, é recomendável que o template category.php tenha apenas as condições e os includes dos arquivos corretos. Se você pretende manter o código padrão do template da categoria nesse arquivo, lembre-se de deixá-lo dentro da condição else.

 

Download aqui.

 

hospedagem2-300x250.jpg

 

http://imasters.com.br/artigo/20297/wordpress/criando-template-para-as-subcategorias

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.