我正在使用此代码...
<ul>
<?php
$args = array(
'posts_per_page' => 10,
'orderby' => 'post_date',
'order' => 'DESC',
'post_status' => 'publish, trash'
);
$query = new WP_Query( $args ); ?>
<?php while ($query -> have_posts()) : $query -> the_post();
?>
<li>
<?php the_title(); ?>
<br />Post Created on: <?php echo get_the_date(); ?>
<br />Post Trashed on: <?php echo "???"; ?>
</li>
<?php
endwhile;
wp_reset_postdata();
?>
</ul>
...显示最近发布的10个帖子或已删除帖子的列表。
但是关于返回的已删除帖子,它们需要是帖子被删除的日期,而不是创建时间。
为了进一步说明问题,如果一年前有一些帖子,我今天将它们删除,它们就不会出现在这个列表中,因为它们不属于数据库中最近的10个帖子。
需要发生的是,如果我现在废弃了一个非常旧的帖子,那么它会出现在这个列表中(事实上在列表的顶部 - 因为我现在已经删除了它)。
所以这个列表最终需要反映的是:
将其视为活动日志(这最终是它),显示最近创建的帖子和最近发布的帖子的组合,以及它们各自的已发布和已删除日期。
提前致谢。
答案 0 :(得分:2)
使用'orderby' => 'modified'
,当您删除帖子时,它会更改修改日期,您也可以使用echo get_the_modified_date()
或使用get_posts()
$args = array(
'posts_per_page' => 10,
'orderby' => 'modified',
'order' => 'DESC',
'post_status' => 'publish, trash'
);
$query = new WP_Query( $args );
$posts = $query->get_posts();
foreach ( $posts as $post ) {
_e($post->post_title ' - Modified On:'. $post->post_modified);
}