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

如何修改jQuery实现WordPress插件缓存每日自动清理?

实现WordPress插件每日自动清空缓存的方案

当然可以实现!不过先得明确:用前端jQuery自动触发的方式其实不太适配你「每日自动执行、无需固定时间」的核心需求——因为前端代码只有在有人访问后台页面时才会跑,没法保证每天自动运行。我先回应你关于修改jQuery的问题,再给你推荐更靠谱的后端定时方案:

一、前端jQuery自动触发(仅作参考,不推荐用于每日定时)

如果只是想在后台页面加载时自动执行清空操作(比如每次进后台就自动清缓存,但不是每日定时),你可以直接在页面加载完成后调用核心的清空函数,同时去掉确认弹窗(自动执行不需要用户确认):

jQuery(document).ready(function() {
    // 跳过弹窗,直接调用清空缓存的核心函数
    delete_all_url("All");
});

但这个方法的局限性很明显:只有当你登录后台并打开对应页面时才会执行,完全没法实现“每日自动”的需求,所以更推荐下面的后端定时方案。

二、推荐:用WP Cron实现每日自动执行(稳定可靠)

WordPress自带的WP Cron系统是做定时任务的最佳选择,它可以在后台自动触发PHP函数,完全不需要用户登录或访问页面,刚好匹配你的需求。

具体步骤:

  1. 找到后台处理清空的核心PHP函数
    首先,你需要在插件的PHP文件里找到处理delete_all_url这个AJAX动作的函数——通常会有类似add_action('wp_ajax_delete_all_url', 'xxx_delete_function')的代码,这里的xxx_delete_function就是真正执行清空缓存的核心函数,记下来它的名字。

  2. 添加定时任务到WP Cron
    把下面的代码添加到你的主题functions.php或者插件的自定义PHP文件中(记得把your_delete_function替换成你刚才找到的函数名):

// 注册每日清空缓存的定时任务
function register_daily_cache_clear() {
    // 检查任务是否已注册,避免重复添加
    if (!wp_next_scheduled('daily_cache_clear_hook')) {
        // 每天执行一次,WP会自动安排合适的运行时间,不需要你指定固定点
        wp_schedule_event(time(), 'daily', 'daily_cache_clear_hook');
    }
}
add_action('wp', 'register_daily_cache_clear');

// 定义定时任务要执行的操作
function daily_cache_clear_function() {
    // 调用插件的核心清空函数
    if (function_exists('your_delete_function')) {
        your_delete_function();
    }
}
add_action('daily_cache_clear_hook', 'daily_cache_clear_function');
  1. 验证定时任务是否生效
    你可以安装WP Crontrol这类插件来查看和管理WP Cron任务,确认daily_cache_clear_hook已经被正确注册为每日执行的任务。

为什么不推荐前端方案?

  • 前端触发依赖用户访问后台页面,没法保证每天自动运行;
  • 每次打开页面都会清空缓存,可能导致不必要的性能损耗;
  • 无用户交互的情况下,自动发送AJAX请求可能被浏览器安全策略限制。

用WP Cron的方案就能完全解决你的问题,不用再每天登录后台点按钮,系统会自动每日执行清空操作~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:22:28