web-dev-qa-db-fra.com

Script de mise en file d'attente dans functions.php vs sur la page

Est-ce important que je mette un script en file d'attente uniquement sur la page dont j'ai besoin? Par opposition à functions.php?

Ou, quelle est la meilleure pratique? Dans cet exemple, j'ai besoin d'un rotateur sur la première page de mon site.

Et si je l'envoie sur la page, y a-t-il un meilleur endroit pour le mettre?

2
jw60660

Aller avec functions.php.

Utilisez l'action wp_enqueue_scripts pour appeler cette fonction ou admin_enqueue_scripts pour l'appeler du côté de l'administrateur. L'appeler en dehors d'une action peut entraîner des problèmes. Voir # 11526 pour plus de détails.

Source: http://codex.wordpress.org/Function_Reference/wp_enqueue_script

function themename_load_js() {

    if ( is_admin() ) {
        return;
    }

    if is_page( 123) { // Replace 123 with your page's ID.
        wp_enqueue_script( 'jquery' );
        wp_enqueue_script( 'rotator-js', get_template_directory_uri() . '/js/rotator.js', array ( 'jquery' ) );
        wp_enqueue_script( 'rotator-init-js', get_template_directory_uri() . '/js/rotator-init.js', array ( 'jquery', 'rotator-js' ) );
    }
} 
add_action( 'wp_print_scripts', 'themename_load_js' );

Astuce de bonus: Chaque fois que je dois faire quelque chose comme ceci, plutôt que de coder en dur l'ID de la page dans la fonction, je crée une page d'options et ajoute un appel à wp_dropdown_pages () qui permet à l'utilisateur de choisir la page spéciale. Vous avez dit que vous utilisiez la page d'accueil, vous pourriez donc probablement utiliser is_front_page () dans votre fonction plutôt que de vérifier l'ID de la page, qui est même nettoyeur.

3
Dave Romsey