J'essaie d'utiliser la fonction has_shortcode()
pour charger certains scripts uniquement lorsqu'il y a un shortcode dans le contenu de l'article, avec ce code:
wp_register_script( 'shortcode-js-file' , FILE_URI, array( 'jquery'), '', true );
if(isset($post->post_content) && has_shortcode($post->post_content, 'shortcode_name')) {
wp_enqueue_script( 'shortcode-js-file');
}
Donc, dans le code ci-dessus, j'enregistre le script sur toutes les pages, qu'il y ait ou non ce shortcode dans le post, et s'il y a un shortcode, alors je le met en file d'attente.
Ce que je veux savoir, c'est si je dois ou non insérer le wp_register_script
à l'intérieur de l'instruction if
. Si les ressources ne sont pas trop gourmandes en ressources, je préférerais les laisser à l’extérieur, car je veux rassembler tout le code wp_register_script
dans une seule fonction.
PS Pour exposer clairement mon problème, je n’ai pas ajouté le crochet et les fonctions que j’utilise, car ce n’est pas important pour ce que je veux demander.
wp_register_script()
ajoute simplement une entrée à un tableau, il n’a pas besoin de beaucoup de ressources. Voir WP_Dependencies::add()
.
Enregistrer les scripts tôt aide à éviter les collisions , vous devriez donc toujours le faire sur wp_loaded
.