WordPress FSE:如何移除body标签自动生成的body_class类
移除WordPress FSE自定义主题中body标签自动生成的样式类
有两种可靠的方法可以移除body标签里自动生成的所有class:
1. 使用WordPress钩子过滤(最彻底)
直接在主题的functions.php文件或者自定义插件中添加以下代码,通过body_class过滤器返回空数组,就能完全清空所有自动生成的body类:
add_filter( 'body_class', '__return_empty_array' );
这个方法会覆盖所有插件、主题核心添加的body类,是最彻底的方案。
2. 修改FSE模板文件
如果你的FSE主题是通过PHP模板(而非纯区块编辑器)构建的,找到主题目录下的头部模板文件(通常在templates/或parts/文件夹里,比如header.html或header.php),找到<body>标签的代码,把里面的<?php body_class(); ?>部分删掉,直接写成<body>即可。
如果是用站点编辑器(区块编辑器)编辑的模板,进入后台的「外观 → 站点编辑器」,找到头部模板区域,编辑body标签,移除其中的动态样式类设置。不过这种方法可能无法阻止部分插件通过钩子添加的类,所以钩子方法更推荐。
如果只是想移除部分特定类而非全部,可以用下面的代码自定义过滤:
add_filter( 'body_class', 'remove_specific_body_classes' ); function remove_specific_body_classes( $classes ) { // 这里替换成你想移除的类名 $unwanted_classes = array( 'home', 'logged-in', 'wp-block-template' ); return array_diff( $classes, $unwanted_classes ); }
内容的提问来源于stack exchange,提问作者zeug
相关产品推荐
相关产品推荐

