Chronosbox

Template para páginas do WordPress para mostrar somente posts de uma categoria.

by on Terça, 14 Julho/2009, under Snippets, Wordpress

Exemplo de código rápido para obter facilmente um template que pode ser usado em páginas para separar posts por categoria:

Adicione no seu template de página, antes do loop, o seguinte código:

<?
the_post();
$keys = get_post_custom_keys();
if(in_array("category",$keys)) {
	$categoryslug = get_post_custom_values("category");
	query_posts('category_name='.$categoryslug[0]);
}
?>

Agora na sua página, adicione um campo customizado com o nome de ‘category’, e o valor sendo o slug da categoria.

Salve a página e seja feliz :) . Isso te permite, usar o mesmo template para qualquer página que precise de uma categoria, sem precisar mecher em mais código PHP.

:, , , ,

9 Comments for this entry

  • Handrus

    Hi Guy!
    The PHP highlight sintax really needs improvements, the yellow in functions is impossible to see on the white background.
    Again, great tip, keep the good work!

    Cheers.

  • Rodrigo Moncks

    Cara, eu estou com um problema numa página feita no wordpress. O tema que eu uso, aparentemente não tem “Páginas Anteriores” e esse tipo de coisa, ele fica apenas acumulando na Home. Provável que ele tenha sido feito para Portfólio, ou algo assim, que não necessitava esse recurso. Será que tem como eu “forçar” esse recurso nele? Procurei em vários lugares, e não achei ainda. O tema é Blak Magik, meu site é http://www.blogdoroma.com.br
    Desde já Agradeço!

  • Cleiton Souza

    Olá Felipe. Estou aprendendo a usar o WordPress, e acabei caindo aqui na sua pagina.
    Cara, fiquei impressionado no quanto você ajuda as pessoas não só postando tutoriais mas também respondendo diversas questões. Nem adsense você usar para ter algum retorno.
    Os meus parabéns!
    Seu site já faz parte do meus favoritos.
    Cleiton

    • Felipe 'chronos' Prenholato

      Po :) , valeu velinho. Realmente eu fico feliz de ler este tipo de comentário. Eu mantenho o blog for-fun e posto quando tenho algo interessante e posso. Meu amigo Handrus também posta bons artigos por aqui as vezes e a idéia é difundir conhecimento. Os ads eu vejo como uma boa idéia caso eu torne do blog uma profissão, mas por hora eu consigo manter a hospedagem sem esse tipo de necessidade :)

      Volte sempre!

  • Jean

    Grande Felipe!
    Usei seu codigo ontem a noite, mas tive um problema com o tema, o JS nao tinha jeito de pegar a pagina aberta, e acabava nao marcando qual dos itens do menu estava aberto.
    Fucei um monte, cansei, fui dormir, agora de tarde, levei quase duas horas em cima do codigo, fazendo mudanças em tudo pra ver se achava o problema.
    Até que achei isto:

     
    // The Query
    query_posts( $args );
     
    // The Loop
    while ( have_posts() ) : the_post();
    	echo &#039;';
    	the_title();
    	echo '';
    endwhile;
     
    // Reset Query
    wp_reset_query();

    Ai, resolvi testar botando isto no final:
    wp_reset_query();

    E, resolveu o problema de no minimo 3 horas de trabalho… hehehe.

    Aqui esta o site de onde tirei o codigo:
    http://codex.wordpress.org/Function_Reference/query_posts

    Espero ter ajudado quem teve problemas, tanto quanto voce me ajudou com este POST.

    Forte abraço!

  • Victor Pinho

    Ok, mas utilizando essa opção o conteúdo feito das páginas desaparecerão correto? Ou estou alterando o arquivo errado.
    Na minha alteração fiz no arquivo loop-page.php
    Tá certo?
    Abs

Leave a Reply

StatPress

Visits today: 34 Visits since 6 de abril de 2009: 60241 Visitors now: %visitoronline%