WordPress模板插件定制

您现在的位置是:首页 > WordPress教程WordPress教程

如何使用WordPress定时任务Cron

查看 WP集市 的更多文章WP集市 2025-08-28 【WordPress教程】 1499人已围观

  1. WordPress里面有个东西叫Cron,它不是那个Linux里的定时任务,是WordPress自己搞的一套模拟机制。简单说,就是让你的网站在特定时间自动干点活,比如发文章、清缓存、备份数据什么的。很多人以为它很复杂,其实就几个函数的事。

  2. 首先,你得知道WordPress的Cron是怎么跑的。它不像真Cron每分钟检查,而是靠访客访问页面时触发。如果有人来你的网站,WordPress就顺便看看有没有任务到期了,有就执行。所以流量小的站可能不准时,但凑合用。

  3. 怎么加个自定义任务呢?用 wp_schedule_event() 就行。比如你想每天凌晨清理垃圾评论,代码这么写:

if (!wp_next_scheduled('my_daily_cleanup')) {
    wp_schedule_event(time(), 'daily', 'my_daily_cleanup');
}
add_action('my_daily_cleanup', 'do_cleanup');
function do_cleanup() {
    // 这里写清理代码,比如删评论
    wp_delete_comment(123, true);
}
  1. 时间间隔可以用内置的 hourly、daily、twicedaily,也可以自己定义。比如加个每半小时一次的任务:
add_filter('cron_schedules', 'add_custom_interval');
function add_custom_interval($schedules) {
    $schedules['every_30min'] = array(
        'interval' => 1800, // 秒数
        'display'  => '每30分钟'
    );
    return $schedules;
}
// 然后调度任务时用 'every_30min' 就行
  1. 想删任务?用 wp_unschedule_event()。比如换插件时别忘清掉旧任务:
$timestamp = wp_next_scheduled('my_daily_cleanup');
if ($timestamp) {
    wp_unschedule_event($timestamp, 'my_daily_cleanup');
}
  1. 最后提醒:别滥用Cron,任务太多会拖慢网站。用之前想想是不是真需要定时做。有时候用户操作触发更合适。WordPress的Cron就是个假定时,但够用就行,别太纠结它不准。

Tags:

WordPress模板插件定制

WP集市

V管理员
文章 280 篇 | 评论 0 次
最新文章