How-to show last 5 posts

时间:2011-11-02 作者:Vital

如何显示在当前帖子之后发布的最后5篇帖子?

下图说明:

IMAGE FOR EXPLAINE

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

global $wpdb, $post; // Uses current POST here
$IDs = $wpdb->get_col("SELECT `ID` FROM {$wpdb->posts}
    WHERE `post_type`=\'{$post->post_type}\' AND `post_status`=\'publish\' AND `ID`<{$post->ID}
    ORDER BY `ID` DESC LIMIT 5;");
此函数列出ID低于的5个帖子ID 176 属于post_type=\'post\'post_status=\'publish\'. 如果您使用自定义的post类型,请更改post\\U类型,以满足您的需要。您也可以通过以下方式订购post_date_gmt 如果你愿意的话。

当做

SO网友:Vital
<?php
function custom_prev_posts($limit = 5){
  global $wpdb, $post;
  $html = \'\';
  $prev_posts = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE $wpdb->posts.post_date < \'%s\' AND $wpdb->posts.post_type = \'post\' AND $wpdb->posts.post_status = \'publish\' ORDER BY $wpdb->posts.post_date DESC LIMIT $limit", $post->post_date ) ); 

  if($prev_posts){
    $html .= \'<ul>\';
    foreach ( $prev_posts as $prev_post  ) {
    $html .= \'<li><a href="\' . get_permalink( $prev_post->ID ) . \'">\' .$prev_post->post_title . \'</a></li>\';
    }
    $html .= \'</ul>\';
  }
  return $html;
}
 echo custom_prev_posts(); ?>
SO网友:v0idless

我认为使用offset arg可以实现您的目标:

 $posts_arr = get_posts(\'numberposts=5&offset=1\');

结束

相关推荐

WordPress Query_Posts和orderby页面顺序

我有一个页面,列出了当前页面的所有子页面。每个页面都在wordpress编辑器中分配了一个订单号,但由于某种原因,它们没有排序。我是这样安排的:产品-第1页-第2页-第3页-第4页-第5页我的query\\u帖子如下所示:query_posts(\'post_type=page&order=ASC&orderby=\'.$post->menu_order.\'&post_parent=\'.$post->ID); 但输出结果如下:1,3,2,5,4如何使用内置