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

如何实现ACF字段每日自动更新 计算今日与文章发布日期天数差

实现ACF日期差值字段每日自动更新的两种方案

方案1:动态输出实时差值(优先推荐,无需定时任务)

这种方案不需要把计算结果存储到post meta表,每次调用字段时实时计算返回最新差值,从根源避免更新不及时的问题:

  1. 直接在需要展示差值的位置插入计算逻辑,代码如下:
$order = wc_get_order($post_id);
if ($order) {
    $date_created = $order->get_date_created();
    $datetime1 = new DateTime();
    $datetime2 = new DateTime($date_created);
    $difference = $datetime1->diff($datetime2);
    echo "difference " . $difference->days . " days ";
}
  1. 如果需要保留ACF字段的调用方式,可以通过acf/load_value钩子实现字段动态取值:
add_filter('acf/load_value/name=datum2', function($value, $post_id, $field) {
    $order = wc_get_order($post_id);
    if (!$order) return $value;
    
    $date_created = $order->get_date_created();
    $datetime1 = new DateTime();
    $datetime2 = new DateTime($date_created);
    $difference = $datetime1->diff($datetime2);
    
    return "difference " . $difference->days . " days ";
}, 10, 3);

方案2:定时任务每日批量更新存储的字段值

如果你的业务场景必须要把差值存储到post meta表中,可以使用WordPress自带的WP Cron功能实现每日更新:

  • 第一步:注册每日执行的定时事件
// 站点初始化时注册定时任务,避免重复注册
add_action('wp', function() {
    if (!wp_next_scheduled('daily_update_datum2')) {
        wp_schedule_event(time(), 'daily', 'daily_update_datum2');
    }
});
  • 第二步:编写定时触发的更新逻辑
add_action('daily_update_datum2', function() {
    // 按你的业务需求调整查询参数,这里以查询所有已发布的WooCommerce订单为例
    $posts = get_posts([
        'post_type' => 'shop_order',
        'posts_per_page' => -1,
        'post_status' => ['wc-completed', 'wc-processing'], // 按需调整订单状态
    ]);

    foreach ($posts as $post) {
        $order = wc_get_order($post->ID);
        if (!$order) continue;

        $date_created = $order->get_date_created();
        $datetime1 = new DateTime();
        $datetime2 = new DateTime($date_created);
        $difference = $datetime1->diff($datetime2);
        $verschil = "difference " . $difference->days . " days ";

        update_post_meta($post->ID, 'datum2', $verschil);
    }
});

注意:默认WP Cron需要有用户访问站点才会触发执行,若站点访问量较低,可配置服务器级Crontab定时访问站点的wp-cron.php文件保证执行精度。

内容的提问来源于stack exchange,提问作者Nico Weerheim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:36:05