WordPress 循环输出 今天的文章 昨天的文章 7天内的文章 的阅读文章列表
时间: 2024-02-15 17:02:08 浏览: 61
可以使用WordPress的默认函数`WP_Query()`来获取指定时间范围内的文章列表。以下是一个示例代码:
```
<?php
$today = getdate(); // 获取当前日期
$args_today = array(
'post_type' => 'post',
'date_query' => array(
array(
'year' => $today['year'],
'month' => $today['mon'],
'day' => $today['mday'],
),
),
'orderby' => 'date',
'order' => 'DESC',
);
$args_yesterday = array(
'post_type' => 'post',
'date_query' => array(
array(
'year' => $today['year'],
'month' => $today['mon'],
'day' => $today['mday'] - 1,
),
),
'orderby' => 'date',
'order' => 'DESC',
);
$args_7days = array(
'post_type' => 'post',
'date_query' => array(
array(
'after' => '-7 days', // 查询7天前到现在的文章
'before' => $today['year'] . '-' . $today['mon'] . '-' . $today['mday'], // 查询今天之前的文章
'inclusive' => true,
),
),
'orderby' => 'date',
'order' => 'DESC',
);
// 查询今天的文章
$the_query = new WP_Query( $args_today );
if ( $the_query->have_posts() ) :
echo '<h3>今天的文章</h3>';
while ( $the_query->have_posts() ) : $the_query->the_post();
echo '<h2><a href="' . get_permalink() . '">' . get_the_title() . '</a></h2>';
echo '<div>' . get_the_excerpt() . '</div>';
endwhile;
endif;
wp_reset_postdata();
// 查询昨天的文章
$the_query = new WP_Query( $args_yesterday );
if ( $the_query->have_posts() ) :
echo '<h3>昨天的文章</h3>';
while ( $the_query->have_posts() ) : $the_query->the_post();
echo '<h2><a href="' . get_permalink() . '">' . get_the_title() . '</a></h2>';
echo '<div>' . get_the_excerpt() . '</div>';
endwhile;
endif;
wp_reset_postdata();
// 查询7天内的文章
$the_query = new WP_Query( $args_7days );
if ( $the_query->have_posts() ) :
echo '<h3>7天内的文章</h3>';
while ( $the_query->have_posts() ) : $the_query->the_post();
echo '<h2><a href="' . get_permalink() . '">' . get_the_title() . '</a></h2>';
echo '<div>' . get_the_excerpt() . '</div>';
endwhile;
endif;
wp_reset_postdata();
?>
```
这段代码会分别查询今天的文章、昨天的文章和7天内的文章,并按照时间倒序输出所有文章的标题和摘要。如果需要输出更多信息,可以在循环中添加对应的WordPress函数。`wp_reset_postdata()`可以用来重置查询,以便在后续的代码中查询其他内容。
阅读全文