Separacao de posts por categorias
-
Ola, sou novo com wordpress e estava procurando uma solucao para o seguinte problema:
Tenho uma pagina com o loop dos posts de um portifolio com o seguinte codigo:
<div class="portifolio"> <?php if ( have_posts() ) : ?> <?php $i = 0; ?> <?php while ( have_posts() ) : the_post(); $i++; ?> <div class="post_home"> <a href="<?php the_permalink() ?>" class="thumb" title="<?php the_title(); ?>"> <?php if (has_post_thumbnail()) : ?> <?php the_post_thumbnail(array(145,145)); ?> <?php else : ?> <img src="<?php bloginfo('template_url'); ?>/i/noimage.jpg" width="145" height="145" alt=""/> <?php endif; ?> </a> </div> <?php endwhile; ?> <?php endif; ?> </div>
No entanto gostaria que fosse separado de acordo com as categorias de cada uma ( as quais serão os clientes ) e adicionado no inicio o nome da categoria seguinte.
Dei uma procurada, porem não achei muita coisa parecida com a minha e o pouco q encontrei, quando fazia a separação dos posts, ele pegava os posts do blog e não do portifolio.
-
para simplificar as coisas ( não quer dizer que seja a maneira mais correcta em termos de performance ) porque não: Listar as categorias, e em cada while de categorias listares os posts onde category_name=Categoria-actual?
Ola cyclop, o que tinha tentado fazer anteriormente foi quase isso que tu citou, porem estou tendo algumas dificuldades com as funcoes do WP e sua sintaxe. Mas de mareia resumida, queria listar todos os posts e dividi-los de acordo com suas categorias.
Veja se era mesmo isso que você estava querendo.
<h2>Artigos por Categorias</h2> <?php $cats = get_categories(); foreach ($cats as &$cat) { query_posts( 'cat='.$cat->cat_ID ); echo '<h5>Categoria - ' . $cat->cat_name . '</h5> <ul>'; while (have_posts()) { the_post(); echo '<li><a href="'; the_permalink(); echo '">'; if ( get_the_title() ){ the_title(); }else{ echo "Artigo sem Título"; } echo '</a></li>'; } echo '</ul>'; }?>
sim gabrielfernandes, eu entendi, e disse-te como fazer, faz copy paste código que o Myst1010 fez, deve de fazer aquilo que queres
Myst1010 ,muido obrigado primeiramente. Adicionei sei código, funcionou perfeitamente, do modo que queria, porem ele não esta pegando os posts do portefólio e sim do blog.
Dando uma olhada na taxonomia encontrei as seguintes linhas:
$term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy')); query_posts(array('post_type' => 'portfolio', 'works' => $term->slug, 'posts_per_page' => -1));
Tentei utilizar o array pegando pelo post_type. Realmente pegou os posts do portefólio, porem nem todos e suas categorias não eram as mesmas que estão adicionadas a cada item do portefólio, e sem as categorias do blog.
Creio que seja algo relacionado a esse slug. Alguém tem alguma ideia?
Obrigado desde já
- O tópico ‘Separacao de posts por categorias’ está fechado a novas respostas.