我有个问题。我想在我的主页(模板)上显示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篇文章。我想,也许有更好的办法。
谢谢,也很抱歉我的“很棒”英语,-奥威尔
SO网友:Chip Bennett
有一些方法可以更有效地编写代码,但不一定是特定于WordPress的。
仅将必要的参数传递给get_posts()
呼叫
您需要的唯一关键参数是posts_per_page
和category
; 其余的可以省略
创建一个类别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"
, 等