起初我认为这项任务微不足道。我想列出最近添加的帖子(比如说,其中15篇),但我正在添加几年前的帖子,但我希望它们显示在列表中,而不仅仅是那些日期最新的帖子。
这就是我目前正在做的:
<?php
$args = array( \'orderby\' => \'modified\', \'numberposts\' => 15 );
$postslist = get_posts( $args );
foreach ($postslist as $post) : setup_postdata($post);
$audio = get_children(
array(
\'post_parent\' => $post->ID,
\'post_status\' => \'inherit\',
\'post_type\' => \'attachment\',
\'post_mime_type\' => \'audio\'
)
);
$thishref = "";
foreach ( $audio as $attachment_id => $attachment ) :
$thishref.= wp_get_attachment_url( $attachment_id, \'full\' );
endforeach;
?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title();?></a>
<span title="comments" class="commentCount">(<?php comments_number( \'0\', \'1\', \'%\' ); ?>)</span>
<a title="download" class="downloadlink" href="<?php echo $thishref; ?>">↓</a>
</li>
<?php
endforeach;
?>
它是有效的,除非我在帖子中添加标签或以任何方式对其进行编辑,否则帖子会被“修改”,因此会出现在这个列表中,我想防止这种情况发生。
换句话说,我想列出15篇最新的帖子,不是按日期,不是按修改日期,而是按添加到帖子数据库的日期(“创建”日期?)。
这有可能吗?
最合适的回答,由SO网友:Matthew Boynes 整理而成
尝试:
$postslist = get_posts( \'orderby=ID&numberposts=15\' );
这里,我们按ID排序,ID应该与帖子添加到数据库的时间相关。