Ir para conteúdo

Arquivado

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

Still

Separar conteúdo por categoria

Recommended Posts

Bom, eu to editando um layout pra um "portal" e queria saber como faço pra separar as notícias na páginas pela categoria dela.

 

Um exemplo:

Imagem Postada

 

Ai quando postar como "categoria 1" por exemplo vai pra determinado lugar da página :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

5 categorias = 5 loops, um para cada categoria

 

Para cada post ir para sua determinada categoria, serial interessante utilizar query_post.

 

Exemplo de loop:

 

<?php query_posts('cat=1&showposts=2'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div>
<p><?php the_content(); ?>
</p>
</div>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?> 

cat= ID da categoria

showposts= quantidade de post a ser mostrada, no seu caso 1

 

cada quadro, cada div que for ser uma categoria, vai um loop daquele, para que o wp post o conteúdo.

 

Agora posicionamento de cada quadro, é pura estilização, pura css.

 

Mais informações sobre query_post, todas as formas e modos de usar. Andersonnarciso.com

 

Até!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, eu vou colocar uma categoria no meu sidebar, então coloquei o código:

<div id="sidebar">	

<ul id="sidebarwidgeted">

<?php query_posts('cat=55&showposts=2'); ?>
	<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div id="contside">
	<h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
	<p><?php the_content(); ?></p>
	<?php the_content_limit(50, __("Deixe um comentário!")); ?>
</div>

<?php endwhile; endif; ?>
<?php wp_reset_query(); ?> 	

<?php include(TEMPLATEPATH."/sidebar_left.php");?>
<?php include(TEMPLATEPATH."/sidebar_right.php");?>



</div>

 

Funcionou quase perfeitamente, tive 2 problemas.

 

- No caso eu queria usar ele para videos, então eu havia colocado um video do youtube, e abaixo não aparece o "Deixe um comentário" e sim "read more".

- Tirei o video e textei apenas com texto, e ele aparece o texto do post completo e abaixo de tudo que ele coloca os 50 caracteres de limite que eu defini e ai o "deixe um comentário" funciona.

- Se eu quiser coloca pra aparecer posts de outra categoria abaixo dessa, também não funcionou, ele faz sumir toda a minha side bar:

 

<div id="sidebar">	

<ul id="sidebarwidgeted">

<?php query_posts('cat=55&showposts=2'); ?>
	<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div id="contside">
	<h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
	<p><?php the_content(); ?></p>
	<?php the_content_limit(50, __("Deixe um comentário!")); ?>
</div>


       <?php query_posts('cat=1&showposts=5'); ?>
	<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div id="contside">
	<h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
	<p><?php the_content(); ?></p>
	<?php the_content_limit(100, __("Comente")); ?>
</div>

<?php endwhile; endif; ?>
<?php wp_reset_query(); ?> 	

<?php include(TEMPLATEPATH."/sidebar_left.php");?>
<?php include(TEMPLATEPATH."/sidebar_right.php");?>



</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não aparece deixe um comentário porque não tem a função de comentários...

<?php comments_template(); ?>
O "read more" no caso Leia mais ou continue lendo, é simplesmente um link para o post completo.

 

Você não separou os loops, não fechou o <ul> aberto, e não adicionou o endif do promeiro loop

 

<div id="sidebar">      

        <ul id="sidebarwidgeted">

<div id="PRIMEIRA-CATEGORIA-PRIMEIRO-LOOP">
        <?php query_posts('cat=55&showposts=2'); ?>
                <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
        <div id="contside">
                <h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
                <p><?php the_content(); ?></p>
                <?php the_content_limit(50, __("Leia mais e comente!")); ?>
        </div>
        <?php endwhile; endif; ?>
        <?php wp_reset_query(); ?>  
</div>   

<div id="SEGUNDA-CATEGORIA-SEGUNDO-LOOP">
        <?php query_posts('cat=1&showposts=5'); ?>
                <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
        <div id="contside">
                <h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
                <p><?php the_content(); ?></p>
                <?php the_content_limit(100, __("Leia mais e comente!")); ?>
        </div>

        <?php endwhile; endif; ?>
        <?php wp_reset_query(); ?>      
</div>        
        </ul><!-- Fechamanto do UL, não sei se é aqui mas coloquei como exemplo-->
        
        <?php include(TEMPLATEPATH."/sidebar_left.php");?>
        <?php include(TEMPLATEPATH."/sidebar_right.php");?>

        

</div>

Ele não vai mostrar a caixa de comentário em uma sidebar, se você não colocar a função, caixa de conetário geralmente e por correto se coloca em single.php ao post está sozinho, único, ai sim, no final da postagem aparece a caixa de comentários...

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.