Я только что погуглил, но не получил никакой конкретной информации. У меня есть такой код на шаблоне PHP для WordPress:
<?php wp_enqueue_script( 'jquery-carousel', get_template_directory_uri().'/js/jquery.carouFredSel-6.2.1-packed.js', array('jquery'),'',true); ?>
И я хочу добавить CloudFlare игнорировать для Rocketloader data-cfasync="false"
непосредственно перед атрибутом ‘src’ в jquery.carouFredSel-6.2.1-pack.js
Что я могу сделать?
С уважением
Редактировать:
Большое спасибо @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 );
Таким образом, вы можете выбрать целевой скрипт.
Других решений пока нет …