如何使用插件向Body标记添加属性?

时间:2021-05-25 作者:Chase

是否有任何方法可以将属性添加到body 标签

例如:

<body test-attribute>
显然,这可以很容易地在主题中编辑,但我正试图找出如何使用插件添加它。

2 个回复
SO网友:Pat J

您似乎无法(轻松地)将任意属性添加到<body> 标签

但是,WordPress提供了该功能body_class() 因此,您可以将类添加到<body> 标签

如果你的主题使用它,你会在一个模板文件中找到类似的东西(例如。header.php):

<body <?php body_class(); ?>>
在这种情况下,您将能够使用body_class 过滤器:

add_filter( \'body_class\', \'wpse388651_body_class\' );
function wpse388651_body_class( $classes ) {
    $classes[] = \'my-custom-class\';
    return $classes;
}

SO网友:Buttered_Toast

这是一种非常、非传统的方式。

add_filter(\'body_class\', \'my_func\');
function my_func ($classes) {
    echo \'data-custom="Hello World!"\';

    return $classes;
}
过滤器应始终返回值,并且从不回显(输出)值。

这是因为body_class() 位置body_class() 回显类标记,回显值的一部分是包含body_class 滤器

使用该过滤器,我们可以在class="..." 输出。

这是最基本的想法,您可以根据需要对其进行编辑。