web-dev-qa-db-fra.com

JavaScript spécifique à la taxonomie

Je cherche à ajouter des scripts et des styles à une page de taxonomie particulière. Par exemple, je souhaite qu'un rotateur de bannière n'apparaisse que pour les publications relevant de la taxonomie personnalisée "émission". J'ai essayé d'utiliser is_tax ('issue') pour contrôler le moment où les scripts et les styles sont mis en file d'attente, mais cela ne semble pas fonctionner. Voici un exemple de mon fichier functions.php:

function init_customizations() {
  if (is_tax('issue')) {
    wp_register_script('rotator_scripts',get_bloginfo('template_directory').'/includes/issue-rotator.js', array(), '1.0.0' );
    wp_enqueue_script('rotator_scripts');
    wp_register_style('rotator_styles',get_bloginfo('template_directory').'/includes/issue-rotator.css', array(), '1.0.0', 'screen');
    wp_enqueue_style('rotator_styles');
  }
}
add_action( 'init', 'init_customizations', 0 );

En fait, cela n’écrit rien dans l’en-tête, alors je suppose que je l’appelle peut-être de manière incorrecte.

Update Voici le code final avec la bonne réponse appliquée:

function init_customizations() {
  if (is_tax('issue')) {
    wp_register_script('rotator_scripts',get_bloginfo('template_directory').'/includes/issue-rotator.js', array(), '1.0.0' );
    wp_enqueue_script('rotator_scripts');
    wp_register_style('rotator_styles',get_bloginfo('template_directory').'/includes/issue-rotator.css', array(), '1.0.0', 'screen');
    wp_enqueue_style('rotator_styles');
  }
}
add_action( 'wp_enqueue_scripts', 'init_customizations', 0 );
4
hereswhatidid

Pour une fonction qui met les scripts en file d'attente, le crochet d'action que vous utilisez doit en réalité être "wp_enqueue_scripts" pour le devant du site et "admin_enqueue_scripts" pour le côté admin. C'est le bon moment pour mettre en file d'attente les scripts.

Bien que vous puissiez techniquement le faire à tout moment avant wp_head, c’est le meilleur endroit car c’est quasiment la dernière chance de le faire, vous assurant ainsi que tout ce qui peut être fait avant la sortie du script a été fait pour que votre logique fonctionne correctement.

3
Otto