un plugin que j’ai acheté charge quelques fichiers js et css sur toutes les pages; j’ai donc voulu écrire une nouvelle fonction pour annuler l’enregistrement des descripteurs et les placer à l’endroit où je voulais. Cependant, je ne suis pas sûr de savoir si je dois annuler l'enregistrement => puis m'enregistrer. ou dois-je simplement les retirer et les mettre en file d'attente où je veux
// deregister scripts and load them where required
add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 );
function my_deregister_javascript() {
wp_deregister_script( 'contact-form-7' );
wp_deregister_script( 'upme_tipsy' );
wp_deregister_script( 'upme_google_fonts' );
wp_deregister_script( 'upme_font_awesome' );
wp_deregister_script( 'upme_css' );
wp_deregister_script( 'upme_style' );
wp_deregister_script( 'upme_responsive' );
wp_deregister_script( 'upme_validate' );
wp_deregister_script( 'upme_validate_pass' );
wp_deregister_script( 'upme_password_meter' );
if ( is_page('contact-us') ) {
wp_enqueue_script( 'contact-form-7' );
}
elseif (is_page(array(680, 671, 675, 688, 'profile'))) {
wp_enqueue_script( 'upme_tipsy' );
wp_enqueue_script( 'upme_google_fonts' );
wp_enqueue_script( 'upme_font_awesome' );
wp_enqueue_script( 'upme_css' );
wp_enqueue_script( 'upme_style' );
wp_enqueue_script( 'upme_responsive' );
wp_enqueue_script( 'upme_validate' );
wp_enqueue_script( 'upme_validate_pass' );
wp_enqueue_script( 'upme_password_meter' );
}
}
Vous devriez être capable de simplement retirer le script ou style s'il s'agit de not les pages sur lesquelles vous le souhaitez.
function wpa_scripts() {
// if this is not the contact page, remove the script
if( ! is_page( 'contact-us' ) ){
wp_dequeue_script( 'contact-form-7' );
}
}
// adjust priority to make sure this runs after the plugins add their scripts/styles
add_action( 'wp_enqueue_scripts', 'wpa_scripts', 100 );