如何在loop.php中划分类别?

时间:2012-09-28 作者:Jamie

我正在尝试将特定类别中的所有帖子分为3个不同的部分。每个类别将位于不同的分区中。当我尝试这样做时,WordPress会列出每个分区中每个类别中的每个帖子。我如何获得它,以便它只列出每个类别中的帖子?我试图修改循环。我的代码如下所示

 //loop.php
 <?php  if ( is_archive() || is_search() ) :
 <div class="category">
      <p class="textYellow arrow"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( \'Permalink to %s\', \'paradiso\' ), the_title_attribute( \'echo=0\' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></p>
 </div>
 endif;
其想法是,每个类别将坐在一个向左浮动的div中,以便每个div将坐在彼此旁边。所以我会有三个分区,三个类别,每个分区只列出该类别中的帖子标题。

例如

第一组:4个岗位第二组:3个岗位第三组:6个岗位

每个部门仅显示与该部门相关的类别职位。

1 个回复
最合适的回答,由SO网友:Sagive 整理而成

这是我最近用过的东西。。。不太复杂
第一个。。我们称之为所有类别<那么。。我们使用foreach获取每个类别内的帖子

<?php  
 $allcats = get_categories(\'child_of=\'.get_query_var(\'cat\')); 

    foreach ($allcats as $cat) :
    $args = array(
    \'posts_per_page\' => 3, // max number of post per category

    \'category__in\' => array($cat->term_id)
    );

    $customInCatQuery = new WP_Query($args); 

    if ($customInCatQuery->have_posts()) : 
    echo \'<div>\';
    echo \'<h3>\'.$cat->name.\'</h3>\';
    echo \'<ul>\';    
    while ($customInCatQuery->have_posts()) : $customInCatQuery->the_post(); ?>

    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>

<?php
endwhile; 
echo \'</ul></div>\'; 
?>

<?php else : 
echo \'No post published in:\'.$cat->name;                
endif; 
wp_reset_query();
endforeach; 
?>
希望这有帮助<祝你有个愉快的8天,萨吉夫。

结束