这不是什么wp_script_add_data()
做
它不支持向脚本标记添加任意属性。它允许您将元数据添加到排队脚本中,但WordPress支持的唯一键是\'conditional\'
, 用于告诉脚本是否加载特定版本的IE。例如:
wp_script_add_data(\'bs-popper\' , \'conditional\' , \'IE 9\');
将导致:
<!--[if IE 9]>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" id="bs-popper-js">
<![endif]-->
但这个:
wp_script_add_data(\'bs-popper\' , \'attribute\' , \'value\');
什么都不会做。
如果希望能够以这种方式向脚本添加属性,则需要使用script_loader_tag
filter可筛选<script>
标记以添加属性(如果已使用wp_script_add_data()
. 有一个例子here, 但对于您的用例,它将如下所示:
add_filter(
\'script_loader_tag\',
function( $tag, $handle ) {
$integrity = wp_scripts()->get_data( $handle, \'integrity\' );
if ( $integrity ) {
$tag = str_replace( \'></\', \' integrity="\'. esc_attr( $integrity ) .\'"></\', $tag );
}
return $tag;
},
10,
2
);