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

如何在GoDaddy WordPress站点更新sellers.json时自动清除缓存?

WordPress数据库操作后自动清缓存的解决方案

为什么WP_Object_Cache::flush()没用?

WP_Object_Cache是WordPress的内存级对象缓存,仅用于页面加载周期内的临时数据存储,根本触达不到GoDaddy托管WordPress常用的服务器端页面缓存(比如GoDaddy自带的托管缓存,或是你安装的第三方缓存插件)。所以调用这个方法只会清理内存里的临时缓存,自然解决不了手动清缓存的问题。

可行的自动清缓存方案

1. 绑定WordPress CRUD钩子(推荐,适用于WP环境内的脚本)

如果你的PHP脚本是在WordPress环境中运行的(比如写在主题的functions.php或自定义插件里),直接绑定WP内置的CRUD动作钩子,触发缓存清理:

// 绑定文章/自定义内容类型的创建、更新、删除钩子
add_action('save_post', 'auto_clear_cache_on_crud');
add_action('delete_post', 'auto_clear_cache_on_crud');

// 涉及自定义字段变更时也可添加
add_action('updated_post_meta', 'auto_clear_cache_on_crud');
add_action('deleted_post_meta', 'auto_clear_cache_on_crud');

function auto_clear_cache_on_crud() {
    // 优先清理GoDaddy托管缓存(官方提供的专属函数)
    if (function_exists('godaddy_clear_cache')) {
        godaddy_clear_cache();
    }

    // 如果你用了第三方缓存插件,比如WP Rocket
    if (function_exists('rocket_clean_domain')) {
        rocket_clean_domain();
    }

    // 清理WP内置对象缓存(可选)
    if (function_exists('wp_cache_flush')) {
        wp_cache_flush();
    }
}

如果你的脚本是脱离WP环境直接操作数据库的(比如直接用mysqli连接),记得先加载WP核心,再调用清理函数:

// 加载WP核心,确保能调用WP相关函数
require_once('/path/to/your/wp-load.php');

// 执行你的CRUD操作代码...

// 操作完成后触发缓存清理
auto_clear_cache_on_crud();

2. 调用GoDaddy缓存清理API(适用于完全脱离WP的脚本)

如果你的脚本完全独立于WP环境,可通过GoDaddy的官方API清理缓存(需要在GoDaddy账户后台生成API密钥和密钥):

$api_key = '你的GoDaddy API密钥';
$api_secret = '你的GoDaddy API密钥密码';
$domain = '你的站点域名.com';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.godaddy.com/v1/domains/{$domain}/cache/flush");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: sso-key {$api_key}:{$api_secret}",
    "Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');

$response = curl_exec($ch);
curl_close($ch);

3. 调用第三方缓存插件的清理函数(若使用插件缓存)

如果你安装了W3 Total Cache、WP Super Cache这类插件,直接用它们的内置清理函数:

  • W3 Total Cache:w3tc_flush_all();
  • WP Super Cache:wp_cache_clear_cache();

重要提示

  • 针对GoDaddy Managed WordPress站点,优先使用godaddy_clear_cache(),这是官方提供的最可靠的缓存清理方式,能精准清理托管层面的缓存。
  • 如果CRUD操作频繁,建议只清理相关页面的缓存(比如sellers.json所在页面),而非全站缓存,减少性能损耗。比如WP Rocket可用rocket_clean_post($post_id);清理单页缓存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 16:16:21