You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress技术需求:获取当月文章发布日与标题数组

解决方案

你的代码核心问题是遍历WP_Query结果的方式错误,且错误地通过字符串拼接构建数组。以下是修正后的代码,可生成你需要的数组格式:

$currMonth = date('n');
$getEvents = new WP_Query([
    'post_type'   => 'event',
    'post_status' => ['publish', 'future'],
    'monthnum'    => $currMonth,
    'posts_per_page' => -1 // 确保获取当月所有文章
]);

$events = [];
// 正确遍历WP_Query查询结果
if ($getEvents->have_posts()) {
    while ($getEvents->have_posts()) {
        $getEvents->the_post();
        $date = get_the_date('d');
        $title = get_the_title();
        
        if ($title) {
            // 直接添加符合要求的子数组到目标数组
            $events[] = [$date => $title];
        }
    }
    // 重置全局post对象,避免影响后续查询或模板输出
    wp_reset_postdata();
}

关键修正说明:

  • 采用WordPress标准的have_posts()+the_post()循环遍历查询结果,也可直接遍历$getEvents->posts数组实现相同效果。
  • 直接创建[$date => $title]格式的子数组并推入$events,而非拼接字符串,这样才能生成你需要的二维关联数组结构。
  • 添加posts_per_page => -1参数,确保获取当月所有event类型文章,避免默认仅返回10篇的限制。
  • 循环结束后调用wp_reset_postdata(),重置全局post对象,防止后续操作出现异常。

内容的提问来源于stack exchange,提问作者Sergey Pervushin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 09:23:23