
您现在的位置是:首页 > WordPress教程WordPress教程
如何使用WordPress定时任务Cron
WP集市
2025-08-28
【WordPress教程】
1499人已围观
-
WordPress里面有个东西叫Cron,它不是那个Linux里的定时任务,是WordPress自己搞的一套模拟机制。简单说,就是让你的网站在特定时间自动干点活,比如发文章、清缓存、备份数据什么的。很多人以为它很复杂,其实就几个函数的事。
-
首先,你得知道WordPress的Cron是怎么跑的。它不像真Cron每分钟检查,而是靠访客访问页面时触发。如果有人来你的网站,WordPress就顺便看看有没有任务到期了,有就执行。所以流量小的站可能不准时,但凑合用。
-
怎么加个自定义任务呢?用
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);
}
- 时间间隔可以用内置的 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' 就行
- 想删任务?用
wp_unschedule_event()
。比如换插件时别忘清掉旧任务:
$timestamp = wp_next_scheduled('my_daily_cleanup');
if ($timestamp) {
wp_unschedule_event($timestamp, 'my_daily_cleanup');
}
- 最后提醒:别滥用Cron,任务太多会拖慢网站。用之前想想是不是真需要定时做。有时候用户操作触发更合适。WordPress的Cron就是个假定时,但够用就行,别太纠结它不准。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。

热门文章
