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

如何从Divi页面模板中移除主题缓存钩子?

Divi缓存问题快速解决与代码对应判断

一、代码对应判断

你提供的PHP代码不会生成带有et-builder-module-design-deferred-397-cached-inline-stylesID的内联style标签。

这段代码是Divi针对文章截断/摘要内容的缓存逻辑:它通过et_truncate_post_use_custom_content过滤器,缓存经过the_content处理后的文章内容,将结果存在_et_pb_truncate_post和_et_pb_truncate_post_date这两个文章元数据中,仅用于优化文章摘要的生成性能,和页面内联样式的缓存机制完全无关。

二、10分钟定位并移除Divi内联样式缓存钩子

针对仅7个页面出现的缓存问题,按以下步骤操作:

  1. 锁定目标钩子
    Divi的内联样式缓存核心函数是et_builder_render_deferred_inline_styles,它通常挂载在wp_footer动作上,优先级为99;另外还有一个缓存过滤钩子et_builder_cache_deferred_inline_styles负责处理缓存存储逻辑。

  2. 针对性禁用缓存
    在当前主题的functions.php文件末尾添加以下代码,仅对问题页面禁用该缓存:

add_action('wp', function() {
    // 替换为出现问题的7个页面ID,用逗号分隔
    $problem_page_ids = [10, 25, 33, 41, 57, 62, 79];
    if (is_page($problem_page_ids)) {
        // 移除内联样式渲染的钩子,直接跳过缓存内容输出
        remove_action('wp_footer', 'et_builder_render_deferred_inline_styles', 99);
        // 若上述无效,额外移除缓存过滤钩子
        remove_filter('et_builder_deferred_inline_styles', 'et_builder_cache_deferred_inline_styles');
    }
});
  1. 验证结果
    保存代码后,刷新那7个问题页面,检查页面源码中是否还存在et-builder-module-design-deferred-xxx-cached-inline-styles的style标签,同时确认无需频繁清理多平台缓存即可看到页面更新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:04:54