Si vous avez ajouter le code de l’article précédent et que vous utilisez le plugin Contact Form sur votre blog, vous devez voir apparaître ces 2 lignes:
/wp-content/plugins/contact-form-7/includes/js/scripts.js handle : contact-form-7 /wp-content/plugins/contact-form-7/includes/css/styles.css handle : contact-form-7
Vous allez me dire, « normal ! », pas tant que ça en fait, pourquoi ajouter un script js et une feuille css sur la Homepage de votre blog, alors qu’il n’y a même pas de formulaire sur cette page ? (enfin c’est le cas dans 99% des cas…).
Un des meilleurs moyen d’optimiser votre blog, est de supprimer tout ce qui est inutile, et le code précédent permet de récupérer le « handle » du script seul moyen de pouvoir agir sur celui-ci.
Dans le cas de Contact Form, le principe est assez simple, puisqu’il s’agit d’un shortcode ajouter à votre page, il suffit de tester si ce shortcode existe, si ce n’est pas le cas, on désactive le script JS et la feuille CSS.
Voici le code , à ajouter dans function.php (comme presque toujours)
{code}
/**
* Contact Form 7 – supprime les fichiers si non utiles
*/
if (!function_exists(‘mywpcf7_dequeue_scripts_styles’)) {
function mywpcf7_dequeue_scripts_styles() {
if ( WPCF7_LOAD_JS && WPCF7_LOAD_CSS ) {
global $post;
if ( !strpos($post->post_content, ‘[contact-form-7’) ) {
wp_dequeue_script(‘contact-form-7’);
wp_dequeue_style(‘contact-form-7’);
}
}
}
add_action( ‘wp_enqueue_scripts’, ‘mywpcf7_dequeue_scripts_styles’ );
}{/code}
Ce principe fonctionne pour tout autre plugin qui utilise un shortcode.
Bonjour,
Merci pour cet excellent tuto. Je l’ai utilisé sur mon site pour ‘Contact Form 7’. J’essaye de faire de même pour le plugin ‘Cool Video Gallery’ (http://wordpress.org/plugins/cool-video-gallery/).
Les lignes ajoutés (par le hook décrit dans votre article http://wpastuces.com/94-liste-des-scripts-js-et-feuilles-css-dans-vos-pages-wordpress/) sont:
/wp-content/plugins/cool-video-gallery/js/jquery.slideshow.js handle : jquery.slideshow
/wp-content/plugins/cool-video-gallery/js/jquery.stripslashes.js handle : jquery.stripslashes
/wp-content/plugins/cool-video-gallery/cvg-player/jwplayer.js handle : jwplayer
/wp-content/plugins/cool-video-gallery/third_party_lib/fancybox/jquery.fancybox-1.3.4.pack.js handle : jquery.fancybox
/wp-content/plugins/cool-video-gallery/third_party_lib/fancybox/jquery.fancybox-1.3.4.css handle : jquery.fancybox
Mes questions sont:
1- Comment remplacer « WPCF7_LOAD_JS && WPCF7_LOAD_CSS »? Où trouve-t’on ces valeurs?
2- Les handles me semblent génériques. Je ne risque pas des pbs si je les supprime tous?
Le code serait:
/**
* Cool Video Gallery – supprime les fichiers si non utiles
*/
if (!function_exists(‘mycvg_dequeue_scripts_styles’)) {
function mycvg_dequeue_scripts_styles() {
if ( WPCF7_LOAD_JS && WPCF7_LOAD_CSS ) {
global $post;
if ( !strpos($post->post_content, ‘[cvg-gallery’) ) {
wp_dequeue_script(‘jquery.slideshow’);
wp_dequeue_script(‘jquery.stripslashes’);
wp_dequeue_script(‘jwplayer’);
wp_dequeue_style(‘cvg-styles’);
}
}
}
add_action( ‘wp_enqueue_scripts’, ‘mywpcf7_dequeue_scripts_styles’ );
}
Merci d’avance pour votre aide
Bonjour,
1. Vous pouvez supprimer le test, je vais faire un autre article qui expliquera pourquoi…
2. En effet, tout ce qui est avec jQuery est susceptible d’être utiliser par d’autres plugins… à supprimer au cas par cas…