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

如何通过ACF在WordPress中切换Divi模块的可见性?

通过ACF切换WordPress中Divi模块可见性的方法

当然可以,下面是几种实用的实现方式:

方式1:Divi内置条件逻辑+ACF字段(最简便)

  • 先在ACF里创建一个字段,比如开关型字段show_target_module,设置返回布尔值。
  • 编辑Divi模块时,打开「高级」选项卡,找到「条件逻辑」。
  • 添加规则:选择「ACF字段」,匹配你刚创建的字段,设置为「等于」「是」(根据字段类型调整)。这样当ACF字段开启时模块显示,关闭则隐藏。

方式2:代码控制(适配复杂场景)

如果内置逻辑满足不了需求,用过滤器修改模块状态:

add_filter('et_pb_module_shortcode_attributes', 'acf_toggle_divi_module', 10, 3);
function acf_toggle_divi_module($attrs, $module_slug, $shortcode) {
    // 替换成目标模块的slug(比如et_pb_button)和你的ACF字段名
    if ($module_slug === 'et_pb_button' && get_field('show_button_module') !== true) {
        $attrs['disabled'] = 'on'; // 禁用模块使其不渲染
    }
    return $attrs;
}
  • 把这段代码加到主题的functions.php或者自定义插件里。
  • 注意替换对应的模块slug和ACF字段名。

方式3:ACF动态内容+CSS控制

  • 在ACF创建下拉字段,选项设为「show」和「hide」。
  • 编辑Divi模块,在「高级」→「CSS ID & Classes」的「CSS Class」里,插入动态内容:[acf field="module_display"](替换为你的字段名)。
  • 到主题自定义CSS里加这段样式:
.hide {
    display: none !important;
}

当ACF字段选「hide」时,模块就会被CSS隐藏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 07:17:11