如果使用 wp_enqueue_script 添加脚本,如何绕过 CloudFlare rocket 脚本?
How to bypass CloudFlare rocket script if wp_enqueue_script is used to add scripts?
我只是用谷歌搜索了这个,但没有检索到任何具体信息。我在 WordPress 的 PHP 模板上有这样的代码:
<?php wp_enqueue_script( 'jquery-carousel', get_template_directory_uri().'/js/jquery.carouFredSel-6.2.1-packed.js', array('jquery'),'',true); ?>
我想在 jquery.carouFredSel-6.2.1-packed.js
的 'src' 属性之前为 Rocketloader data-cfasync="false"
添加 CloudFlare 忽略
我能做什么?
此致
编辑:
非常感谢@Mary 提供的代码。所以解决方案是在 functions.php 中添加此功能:
function add_data_attribute( $tag, $handle, $src ) {
if ( 'jquery-carousel' !== $handle )
return $tag;
return str_replace( ' src', ' data-cfasync="false" src', $tag );
}
add_filter( 'script_loader_tag', 'add_data_attribute', 10, 3 );
如果需要在这个函数中添加更多的标签,如'jquery-carousel1'、'jquery-carousel2',代码如下:
function add_data_attribute( $tag, $handle, $src ) {
if( ! in_array( $handle, array( 'jquery-carousel', 'jquery-carousel1', 'jquery-carousel2' ) ) )
return $tag;
return str_replace( 'src', 'data-cfasync="false" src', $tag );
}
add_filter( 'script_loader_tag', 'add_data_attribute', 10, 3 );
您可以尝试使用 script_loader_tag 过滤。
function add_data_attribute( $tag, $handle, $src ) {
if ( 'jquery-carousel' !== $handle )
return $tag;
return str_replace( ' src', ' data-cfasync="false" src', $tag );
}
add_filter( 'script_loader_tag', 'add_data_attribute', 10, 3 );
这样您就可以定位特定的排队脚本。
我只是用谷歌搜索了这个,但没有检索到任何具体信息。我在 WordPress 的 PHP 模板上有这样的代码:
<?php wp_enqueue_script( 'jquery-carousel', get_template_directory_uri().'/js/jquery.carouFredSel-6.2.1-packed.js', array('jquery'),'',true); ?>
我想在 jquery.carouFredSel-6.2.1-packed.js
的 'src' 属性之前为 Rocketloaderdata-cfasync="false"
添加 CloudFlare 忽略
我能做什么?
此致
编辑:
非常感谢@Mary 提供的代码。所以解决方案是在 functions.php 中添加此功能:
function add_data_attribute( $tag, $handle, $src ) {
if ( 'jquery-carousel' !== $handle )
return $tag;
return str_replace( ' src', ' data-cfasync="false" src', $tag );
}
add_filter( 'script_loader_tag', 'add_data_attribute', 10, 3 );
如果需要在这个函数中添加更多的标签,如'jquery-carousel1'、'jquery-carousel2',代码如下:
function add_data_attribute( $tag, $handle, $src ) {
if( ! in_array( $handle, array( 'jquery-carousel', 'jquery-carousel1', 'jquery-carousel2' ) ) )
return $tag;
return str_replace( 'src', 'data-cfasync="false" src', $tag );
}
add_filter( 'script_loader_tag', 'add_data_attribute', 10, 3 );
您可以尝试使用 script_loader_tag 过滤。
function add_data_attribute( $tag, $handle, $src ) {
if ( 'jquery-carousel' !== $handle )
return $tag;
return str_replace( ' src', ' data-cfasync="false" src', $tag );
}
add_filter( 'script_loader_tag', 'add_data_attribute', 10, 3 );
这样您就可以定位特定的排队脚本。