Je souhaite supprimer un script ('enterprise-responsive-menu'), mais la fonction que j'ai dans mon modèle ne le fait pas. Quelque chose ne va pas?
Voici la file d'attente dans functions.php-
//* Enqueue Scripts
add_action( 'wp_enqueue_scripts', 'enterprise_load_scripts' );
function enterprise_load_scripts() {
wp_enqueue_script( 'enterprise-responsive-menu', get_bloginfo( 'stylesheet_directory' ) . '/js/responsive-menu.js', array( 'jquery' ), '1.0.0' );
wp_enqueue_style( 'dashicons' );
wp_enqueue_style( 'google-fonts', '//fonts.googleapis.com/css?family=Lato:300,700,300italic|Titillium+Web:600', array(), CHILD_THEME_VERSION );
}'
Voici le code de la file d'attente dans mon modèle -
//Remove Mobile Header
function project_dequeue_unnecessary_scripts() {
wp_dequeue_script( 'enterprise-responsive-menu' );
wp_deregister_script( 'enterprise-responsive-menu' );
}
add_action( 'wp_print_scripts', 'project_dequeue_unnecessary_scripts' );
Déplacez votre fonction project_dequeue_unnecessary_scripts()
dans votre fichier functions.php
et ajoutez une instruction conditionnelle pour déterminer si le modèle approprié est en cours de chargement. Par exemple.:
// Remove Mobile Header
function project_dequeue_unnecessary_scripts() {
if ( is_page_template( 'name-of-template.php' ) ) {
wp_dequeue_script( 'enterprise-responsive-menu' );
wp_deregister_script( 'enterprise-responsive-menu' );
}
}
add_action( 'wp_print_scripts', 'project_dequeue_unnecessary_scripts' );
Je suspecte que votre fonction ne fonctionne pas car elle a été placée quelque part après l'appel à get_header()
dans le fichier de modèle, ce qui signifie qu'il serait trop tard pour retirer le script. Déclarer des fonctions dans des fichiers modèles n’est pas une bonne pratique, utilisez donc votre fichier functions.php
ou un autre include.
add_action( 'wp_enqueue_scripts', 'enterprise_load_scripts' );
function enterprise_load_scripts(){
if ( !is_page_template( 'name-of-template.php' ) ) {
wp_enqueue_script( 'enterprise-responsive-menu', get_bloginfo( 'stylesheet_directory' ) . '/js/responsive-menu.js', array( 'jquery' ), '1.0.0' );
}
wp_enqueue_style( 'dashicons' );
wp_enqueue_style( 'google-fonts', '//fonts.googleapis.com/css?family=Lato:300,700,300italic|Titillium+Web:600', array(), CHILD_THEME_VERSION );
}
Au lieu de retirer de la file d'attente, que se passe-t-il si vous mettez ce script spécifique dans une condition telle qu'il ne soit chargé que sur les pages contenant un modèle, à l'exception de celles pour lesquelles vous ne voulez pas.