web-dev-qa-db-fra.com

Crochet après wp_enqueue_scripts

Je veux effectuer une action lorsque les scripts sont chargés. Je veux dire quand les scripts sont mis en file d'attente, je veux prendre des mesures.

Y a-t-il un hook after_wp_enqueue_scripts?

1
user2688562

Vous pouvez vous connecter à wp_enqueue_scripts très tardivement, en utilisant l'argument de priorité de add_action . Par exemple:

function hook_really_late() {
  echo 'Should reasonably be last';
}
add_action('wp_enqueue_scripts','hook_really_late',PHP_INT_MAX);

PHP_INT_MAX devrait être le plus grand nombre assignable en priorité. Il est possible qu'un autre code utilise le même truc. C'est probablement ce que je recommanderais.

Si vous devez être absolument sûr, wp_enqueue_scripts fonctionne sur le wp_head hook qui est appelé par wp_head(). Une astuce similaire devrait donc vous donner une très légère chance d’exécuter votre code juste après la mise en file d'attente des scripts. Puisque wp_enqueue_scripts est accroché avec une priorité de 1, vous voudriez utiliser une priorité de 1 également, ou de 2. Comme wp_enqueue_scripts est accroché par Core même avec une priorité de 1, votre code devrait tout de même être postérieur à wp_enqueue_scripts mais avant toute autre chose. (avec une marge d'erreur raisonnable).

function hook_really_late() {
  echo 'Should reasonably be last';
}
add_action('wp_head','hook_really_late',1);
4
s_ha_dum