Est-il prudent d'utiliser la fonction wp_enqueue_script en dehors du fichier functions.php?

4

J'ai créé plusieurs formats de publication, et lorsque j'utilise un format de publication audio, je souhaite inclure du javascript supplémentaire pour le lecteur audio.

Donc, j'inclus le contenu-audio.php comme ceci:

<?php while ( have_posts() ) : the_post(); ?>
    <?php get_template_part( 'blog/content', get_post_format() ); ?>
<?php endwhile; ?>

Ceci charge le blog / content-audio.php comme prévu:

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <?php
    $att_args = array(
        'post_type'      => 'attachment',
        'numberposts'    => 1,
        'post_status'    => null,
        'post_parent'    => $post->ID,
        'post_mime_type' => 'audio',
        'orderby'        => 'menu_order'
    );
    $attachments = get_posts( $att_args );
    if( $attachments ): ?>
        <?php wp_enqueue_script('mediaelement-js'); ?>
        <?php foreach( $attachments as $attachment ): ?>
            <?php $attachmenturl=wp_get_attachment_url($attachment->ID); ?>
            <audio id="player2" src="<?php echo $attachmenturl; ?>" type="audio/mp3" controls="controls"></audio>   
        <?php endforeach; ?>
    <?php endif; ?>
    <?php the_title(); ?>
</article>

Puis-je utiliser la fonction wp_enqueue_script () dans ce fichier? Cela fonctionne bien, mais je suis curieux de savoir si c'est la bonne façon de le faire.

    
posée passatgt 25.01.2013 - 17:27

1 réponse

6

À partir de WordPress 3.4, les appels à wp_enqueue_script() peuvent être effectués en ligne. Il est donc parfaitement acceptable de l’appeler si nécessaire, par exemple dans un rappel de code court, ou de manière conditionnelle, en fonction des requêtes renvoyées, comme vous l’avez fait ici.

    
réponse donnée Chip Bennett 25.01.2013 - 17:33

Lire d'autres questions sur les étiquettes