在主页上显示5个类别的最新帖子

时间:2013-11-06 作者:Orwell

我有个问题。我想在我的主页(模板)上显示5个类别的最后帖子作为摘录。指摘自cat的最后一篇文章。1,cat的最后一篇文章。以此类推,我得到了5篇文章(摘录),每一篇都来自不同的类别,即cat。1-5。;

我怎样才能做到“简单”?

编辑:我这样做了:

<?php
$args = array( \'posts_per_page\' => 1, \'order\'=> \'DESC\', \'orderby\' => \'post_date\', \'category\' => \'5\', );
$postslist = get_posts( $args );
foreach ($postslist as $post) :  setup_postdata($post); ?> 
    <ul class="recent-posts-2">
        <div class="cat"><a href="<?php echo get_page_link(149); ?>">my 1. category</a></div>
        <li><h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2></li> 
        <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array( 120,120 ), array( \'class\' => \'recent-thumbs\' )); ?></a> 
    </ul>
<?php endforeach; ?>

<?php
$args = array( \'posts_per_page\' => 1, \'order\'=> \'DESC\', \'orderby\' => \'post_date\', \'category\' => \'7\', );
$postslist = get_posts( $args );
foreach ($postslist as $post) :  setup_postdata($post); ?> 
    <ul class="recent-posts-2">
        <div class="cat"><a href="<?php echo get_page_link(151); ?>">my 2. category</a></div>
        <li><h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2></li> 
        <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array( 120,120 ), array( \'class\' => \'recent-thumbs\' )); ?></a> 
    </ul>
<?php endforeach; ?>
Dis示例显示了2只猫的2个摘录,我必须重复它,直到我得到我的5篇文章。我想,也许有更好的办法。

谢谢,也很抱歉我的“很棒”英语,-奥威尔

1 个回复
SO网友:Chip Bennett

有一些方法可以更有效地编写代码,但不一定是特定于WordPress的。

仅将必要的参数传递给get_posts() 呼叫

您需要的唯一关键参数是posts_per_pagecategory; 其余的可以省略

创建一个类别ID数组,并在该数组中循环

循环遍历类别ID数组,因此只需使用实际循环输出一次

例如:

<?php
// Add category IDs here
$category_ids = array( 5, 7 );

// Loop through category IDs
foreach ( $category_ids as $cat_id ) {

    // Category query args
    $cat_query_args = array( \'posts_per_page\' => 1, \'category\' => $cat_id );
    // Query posts
    $cat_query = get_posts( $cat_query_args );
    // Loop through cat query
    foreach ($cat_query as $post ) {  
        setup_postdata( $post ); 
        ?> 
        <ul class="recent-posts-2">
            <div class="cat"><a href="<?php echo get_page_link(149); ?>">my 1. category</a></div>
            <li><h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2></li> 
            <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array( 120,120 ), array( \'class\' => \'recent-thumbs\' )); ?></a> 
        </ul>
    }
}
?>
您可能需要添加一些其他东西,例如class="recent-posts-1", 等

结束

相关推荐

Bold letters inside excerpt

我目前正在尝试将摘录中的一些单词用“h1”标记加粗,但它似乎不起作用。当我在网上查看时,我所听到的只是建议使用插件。有没有一种方法可以在没有插件的情况下实现这一点。我的CSS如下所示。.side-bar h1 { font-weight: bold!important; }