2017-03-19 1 views
0

J'ai juste googlé ceci mais n'ai pas obtenu d'informations spécifiques. J'ai un tel code sur un modèle de PHP pour WordPress:Comment ignorer le script de fusée CloudFlare si wp_enqueue_script est utilisé pour ajouter des scripts?

<?php wp_enqueue_script('jquery-carousel', get_template_directory_uri().'/js/jquery.carouFredSel-6.2.1-packed.js', array('jquery'),'',true); ?> 

Et je veux ajouter CloudFlare ignorer pour Rocketloader data-cfasync="false" juste avant l'attribut 'src' de jquery.carouFredSel-6.2.1-packed.js

Que puis-je faire?

Cordialement

Edit:

Un grand merci à @Mary pour le code. Donc, la solution est d'ajouter cette fonction dans 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); 

S'il est nécessaire d'ajouter d'autres étiquettes comme « jquery-carousel1 », « jquery-carousel2 » à cette fonction, l'apparence de code comme ceci:

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); 

Répondre

0

Vous pouvez essayer de filtrer avec 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); 

De cette façon, vous pouvez cibler votre script spécifique en file d'attente.

+0

Merci Mary, cela m'a vraiment aidé. – twelvell

+0

Encore une chose est si je veux ajouter plus à la liste - comment puis-je modifier le if ('jquery-carrousel'! == $ handle) et ajouter ici aussi d'autres comme - 'jquery-ui-script' et 'jquery -tools-forms-script '? Comment ajouter plusieurs tags ici? – twelvell

+0

Vous pouvez conditionner si le handle n'existe pas dans un tableau de handles. 'if (! in_array ($ handle, array ('jquery-ui-script', 'jquery-tools-forms-script')))' – Mary