下面是一个按发布年份过滤自定义文章类型并进行循环的示例代码:
$args = array(
'post_type' => 'custom_post_type', // 自定义文章类型
'posts_per_page' => -1, // 显示所有文章
'orderby' => 'date', // 按照日期排序
'order' => 'DESC' // 递减顺序
);
$query = new WP_Query($args);
// 获取所有发布年份
$years = array();
while ($query->have_posts()) {
$query->the_post();
$year = get_the_date('Y');
if (!in_array($year, $years)) {
$years[] = $year;
}
}
// 按年份循环
foreach ($years as $year) {
echo '' . $year . '
';
// 根据年份过滤文章
$args['date_query'] = array(
array(
'year' => $year
)
);
$query = new WP_Query($args);
// 循环输出文章
while ($query->have_posts()) {
$query->the_post();
echo '' . get_the_title() . '
';
echo '' . get_the_content() . '';
}
// 重置查询
wp_reset_postdata();
}
这段代码首先使用WP_Query
查询所有自定义文章类型的文章,并获取所有的发布年份。然后,使用foreach
循环按年份输出标题和内容。在循环中,根据年份添加date_query
参数来过滤文章,并使用WP_Query
进行查询和输出。最后,使用wp_reset_postdata()
函数重置查询。
下一篇:按发布日期安装Python软件包