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

如何通过ACF仅为WordPress文章的body标签添加指定类

解决ACF自定义字段导致首页body被添加dark类的问题

问题根源在于你的函数未限定执行场景,首页加载时get_field('dark_mode')会读取到最新发布文章的字段值,从而错误给首页body添加类。只需在逻辑中增加文章页面判断即可解决:

修改后的代码如下:

function add_acf_body_class( $classes ) {
    // 仅在单篇文章详情页执行字段判断逻辑
    if ( is_single() ) {
        global $post;
        $value = get_field( 'dark_mode', $post->ID );
        if ( $value ) {
            $classes[] = 'dark'; 
        }
    }
    return $classes;
}
add_filter( 'body_class', 'add_acf_body_class' );

关键说明:

  • is_single():WordPress内置条件标签,精准判断当前是否为单篇文章(post类型)的详情页,直接限定逻辑仅在目标页面生效。
  • 显式传入$post->ID给get_field,避免特殊场景下字段读取混乱,提升代码稳定性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 12:32:35