向 WooCommerce 脚本添加数据属性

问题描述 投票:0回答:1

我想向 WooCommerce 插件放置的脚本添加数据属性。这是脚本:

woocommerce/assets/js/select2/select2.min.js

因为我们将 Cookiebot 设置为自动,所以如果 Cookie 被拒绝,则不会加载此脚本。这会导致我们的结账出现问题,如果我们忽略该脚本就可以解决。

是否可以通过函数将此属性添加到该脚本中?

data-cookieconsent="ignore"

这应该可以解决问题,但我不知道是否可以通过函数或其他方式来完成。

javascript wordpress woocommerce cookiebot
1个回答
0
投票

如果此脚本已在 Wordpress 脚本队列中注册,您可以使用过滤器挂钩

[script_loader_tag][1]
更改用于将其加载到页面上的实际 HTML 脚本标记。以下是如何使用此过滤器的快速示例:

add_filter('script_loader_tag', function($tag, $handle, $src){

if($handle == '[*** SCRIPT_TAG_NAME ***]'){
    return str_replace('src', 'data-cookieconsent="ignore" src', $tag);
}

})

来自 Wordpress 文档

过滤排队脚本的 HTML 脚本标签。

这是如何工作的

此过滤器挂钩提供对 Wordpress 功能的访问,该功能构建负责在前端加载外部脚本的 HTML 脚本标记。

$handle
变量代表脚本队列中脚本的标识符字符串(您需要找到代表要编辑的WC脚本的句柄)。

$tag
变量包含字符串格式的脚本标记的实际 HTML 代码。

该钩子要求您返回修改后的

$tag
变量。

解决方案

添加数据属性实际上非常简单。只需对

$tag
变量执行“查找/替换”即可将该属性插入到“src”属性之前。然后返回修改后的字符串即可。

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.