Mais...
22 jul

single.php: Crie templates para os posts no WordPress

No WordPress atualmente você tem opções para criar templates para as páginas (pages.php) e pode criar templates para diferentes pages e também pode criar um template para cada categoria salvando seus arquivos como category-20.php onde o 20 é o ID da sua categoria, mas não tem opção de criar varios templates para o arquivo single.php que é a exibição de quando você acessa um post individual.

Exixte uma forma muito simples para que você possa criar um sigle.php diferente para cada categoria de post.

Tutorial:

1. Abra ou crie o arquivo functions.php na pasta do seu tema

2.Dentro do arquivo functions.php insira o código como o abaixo.

<?php add_filter('single_template', create_function('$t', 'foreach( (array) get_the_category() as $cat ) { if ( file_exists(TEMPLATEPATH . "/single-{$cat->term_id}.php") ) return TEMPLATEPATH . "/single-{$cat->term_id}.php"; } return $t;' )); ?>

3.Agora basta você criar os arquivos single seguido com um traço e o ID da categoria do template como por exemplo single-5.php, no formato que você desejar, lembrando que isto é um exemplo você deve criar de acordo com os IDs das categorias que você tem no seu WordPress.

Post to Twitter Post to Delicious Post to Digg Post to Facebook

13 Comentários

  1. julho 23, 2009 at 7:15 pm | Permalink

    Muita boa dica, já tinha precisado disso e não consegui contornar a situação na época.
    Valeuz!

  2. admin
    julho 23, 2009 at 10:05 pm | Permalink

    Precisei usar este esquema em um site que fiz com o WordPress em que cada tela tinha um template diferente, acho que eles poderiam implementar isso no WordPress como os templates de categorias que já existe.

  3. julho 24, 2009 at 8:47 am | Permalink

    é verdade :D
    Já pensou e fazer essa sugestão a equipe q desenvolve o WP ?

    []´s

  4. julho 24, 2009 at 7:11 pm | Permalink

    Artigo muito útil!
    Obrigado

  5. Dhony Silva
    agosto 4, 2009 at 9:59 pm | Permalink

    Seu post me tirou várias dúvidas.

    Obrigado.

  6. admin
    agosto 5, 2009 at 12:55 am | Permalink

    É uma boa mesmo. Outra coisa valeu por ter respondido minha resposta, pois vi que vou ter que ajustar meu css.

  7. admin
    agosto 5, 2009 at 12:56 am | Permalink

    Que bom que te ajudou. Este é o objetivo deste blog.

  8. janeiro 26, 2010 at 3:28 pm | Permalink

    Já havia tentado plugins, tutoriais complicados, e o mais simples funcionou.
    Obrigado.

  9. maio 14, 2010 at 11:45 am | Permalink

    Eu fiz isso e funcionou em parte. Em algumas categorias aparece uma sidebar e os comentários novamente após o footer.

    Por Exemplo:
    Na categoria Notícias eu tenho algumas subcategorias. Na subcategoria Geral deu super certo. Mas nas outras subcategorias acontece o que disse acima.

    E estou utilizando a mesma estrutura em todos os singles, mudando apenas as fontes e uma imagem no topo.

    O que pode estar acontecendo?

  10. admin
    maio 14, 2010 at 3:24 pm | Permalink

    Oi, Bruno. Eu atualizei o post sobre este tópico, existe uma maneira melhor de fazer isso, entre la para conferir. http://www.mateusneves.com/wordpress/single-php-crie-templates-para-os-posts-no-wordpress/

  11. maio 15, 2010 at 9:48 pm | Permalink

    Cara, muito obrigado mesmo! Resolveu meu problema!!! Eu já estava quase que refazendo o portal do zero!!!!

    Valeu mesmo. Obrigadão!

  12. admin
    maio 15, 2010 at 11:43 pm | Permalink

    Que bom, cara. Quando aprendi esta funcionalidade foi uma solução que uso em praticamente todos os sites que monto com WordPress.

  13. maio 21, 2010 at 4:40 pm | Permalink

    Muito bom post. E gostei do design desse também. Show!

Envie seu comentário

Seu email nunca será publicado ou compartilhado. Campos requeridos *

*
*