Comment retirer correctement les scripts et les styles dans le thème enfant?
1 réponses
- votes
-
- 2015-05-31
Vous êtestrèsprès de la solution,car vous êtes sur labonne voie. Justepourpeaufiner unpeu:
Ilexiste deuxtels hooks d'action:
Donc,lafaçon dont vouspouvez lefaireest de: accrocher les différemment:
//Dequeue Styles function project_dequeue_unnecessary_styles() { wp_dequeue_style( 'bootstrap-map' ); wp_deregister_style( 'bootstrap-map' ); } add_action( 'wp_print_styles', 'project_dequeue_unnecessary_styles' ); //Dequeue JavaScripts function project_dequeue_unnecessary_scripts() { wp_dequeue_script( 'modernizr-js' ); wp_deregister_script( 'modernizr-js' ); wp_dequeue_script( 'project-js' ); wp_deregister_script( 'project-js' ); } add_action( 'wp_print_scripts', 'project_dequeue_unnecessary_scripts' );
Et labonnefaçonest de les désinscrireen plus de la suppression de lafile d'attente. Alors commencezpar les retirer de lafile d'attente,puis supprimez-lesen conséquence.
You are very nearer to the solution, because you are on the right path. Just to tweak a little bit:
There are two such action hooks:
So the way you can do it, is: hook 'em differently:
//Dequeue Styles function project_dequeue_unnecessary_styles() { wp_dequeue_style( 'bootstrap-map' ); wp_deregister_style( 'bootstrap-map' ); } add_action( 'wp_print_styles', 'project_dequeue_unnecessary_styles' ); //Dequeue JavaScripts function project_dequeue_unnecessary_scripts() { wp_dequeue_script( 'modernizr-js' ); wp_deregister_script( 'modernizr-js' ); wp_dequeue_script( 'project-js' ); wp_deregister_script( 'project-js' ); } add_action( 'wp_print_scripts', 'project_dequeue_unnecessary_scripts' );
And the correct way is to deregister them beside dequeuing. So first dequeue them, and then deregister them accordingly.
-
selon [docs] (https://codex.wordpress.org/Plugin_API/Action_Reference/wp_print_scripts): _Depuis WordPress 3.3,wp_print_scriptsne doitpas être utilisépourmettreen file d'attente des styles ou des scripts.Utilisezplutôt wp_enqueue_scripts._according to [docs](https://codex.wordpress.org/Plugin_API/Action_Reference/wp_print_scripts): _Since WordPress 3.3, wp_print_scripts should not be used to enqueue styles or scripts. Use wp_enqueue_scripts instead._
- 0
- 2018-02-05
- rok
-
@ user1264304 Nousne mettonspas les chosesen file d'attenteici,nous les retirons de lafile d'attente.@user1264304 We're not enqueueing things here, we're dequeueing things.
- 0
- 2018-02-06
- Mayeenul Islam
-
oui,mais selon [lien] (https://stackoverflow.com/questions/1157531/how-can-i-remove-jquery-from-the-frontside-of-my-wordpress/27048128#27048128),on devraitutilisez `add_filter ('wp_enqueue_scripts','project_dequeue_unnizable_scripts')`yes, but according to [link](https://stackoverflow.com/questions/1157531/how-can-i-remove-jquery-from-the-frontside-of-my-wordpress/27048128#27048128), one should use `add_filter( 'wp_enqueue_scripts', 'project_dequeue_unnecessary_scripts')`
- 1
- 2018-02-06
- rok
J'ai créé unthèmeparentet unthèmeenfant dans l'un demesprojets. J'aimisen file d'attente CSSet JavaScripts dansmonthèmeparent comme ci-dessous:
Maintenant,dansmon thèmeenfant ,je souhaite retirer certainesfeuilles de styleet javascripts. J'ai donc utilisé le code suivant:
Maisen fait,lefichier
bootstrap.css.map
esttoujoursen file d'attente,mais leprojet-jsmodernizr-jsne se chargepas,doncilfonctionnepartiellement. Commentpuis-je résoudre ceproblème?J'aimêmeessayé des actionsprioritaires: