以缩略图和最新描述显示同一类别中的帖子

时间:2012-07-12 作者:david

WordPress是否有一个小部件可以显示一个类别的帖子,其中包含最新帖子的缩略图和描述?小部件:WWW.GOAL的热门新闻部分。com。

enter image description here

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

我不知道有没有任何小部件或插件在默认情况下可以做到这一点。要在主题中创建此内容,您需要编写多个查询循环,遍历每个类别,然后使用计数器查询每个类别的最新帖子,以便顶部帖子可以采用不同的样式。

快速示例。

$cats = get_categories();

foreach ( $cats as $cat ) {  //Loop through all the categories
    $count = 0;
    $args = array(
           \'cat\' => $cat->term_id,  //uses the current category in the loop
           \'posts_per_page\' => 4,
           \'no_found_rows\' => true,  //Performance optimizes the query
           \'update_meta_cache\' => false,  //We don\'t need post_meta
           );

    echo \'<div class="aside-\'. $cat->slug .\'">\'. $cat->name .\'</div>\';

    $cat_q = new WP_Query( $args );
    while( $cat_q->have_posts() ) : $cat_q->the_post();
    $count++

    if( $count == 1 ) { ?>  //Sets the output for the top post
        <div id="post-<?php the_ID(); ?>" <?php post_class(\'feature\'); ?>>
            <fig><?php the_post_thumbnail(); ?></fig>
            <h3 class="post-title feature><a href="<?php the_permalink(); ?>><?php the_title(); ?></a></h3>
            <p><?php the_excerpt(); ?></p>
        </div>
        <div class="right-side">
        <ul class="post-list">
<?php } else { ?>
        <li><a href="<?php the_permalink(); ?><?php the_title(); ?></a></li>
<?php }
     endwhile; ?>
         </ul>
         </div><!-- /end .right-side -->
         </div><!-- /end .aside-<?php echo $cat->slug; ?> -->

<?php } //Ends our category foreach loop

SO网友:amit

这会起作用的,

<?php $postCount = 0; ?>
    <h1 class="section_title">Category-1</h1>
    <?php query_posts(\'cat=1&showposts=4\'); ?>
    <?php while (have_posts()) : the_post(); ?>
    <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
    <?php if($postCount == 0) { the_excerpt(); }?> 
    <?php $postCount++; ?>
<?php endwhile; ?>

<?php $postCount = 0; ?>
    <h1 class="section_title">Category-2</h1>
    <?php query_posts(\'cat=2&showposts=4\'); ?>
    <?php while (have_posts()) : the_post(); ?>
    <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
    <?php if($postCount == 0) { the_excerpt(); }?> 
    <?php $postCount++; ?>
<?php endwhile; ?>

<?php $postCount = 0; ?>
    <h1 class="section_title">Category-3</h1>
    <?php query_posts(\'cat=3&showposts=4\'); ?>
    <?php while (have_posts()) : the_post(); ?>
    <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
    <?php if($postCount == 0) { the_excerpt(); }?> 
    <?php $postCount++; ?>
<?php endwhile; ?>
注:我们在这里进行三个查询,按类别显示三组帖子=1 使用要显示的类别ID=4 将显示最新的4篇帖子,包括第一篇(完整帖子)
  • if($postCount == 0) 用于确定循环中的第一个帖子并显示摘录

  • 结束