web-dev-qa-db-fra.com

Le moyen le plus efficace d’ajouter un fichier javascript à des publications et/ou pages spécifiques?

Je me demande quelle est la méthode la plus efficace pour ajouter un fichier javascript spécifiquement pour un post et/ou une page.

Voici quelques solutions que j'ai proposées:

  • Passez en mode d'édition HTML et postez votre code JavaScript ici (solution assez mauvaise)
  • Champs personnalisés avec le code JavaScript spécifique à cette publication/page dans les paires clé/valeur
  • Dans footer.php, chargez les fichiers JavaScript en fonction de la page sur laquelle vous vous trouvez (cela entraîne cependant beaucoup de conditions)

En passant, aucun des fichiers JavaScript ne sera partagé entre les pages - il sera littéralement spécifique à ce que vous visualisez actuellement.

Des pensées?

15
mousesports

Je pense que le meilleur équilibre entre efficacité et utilisation des méthodes wordpress appropriées pour l’ajout de javascript consisterait à ajouter quelque chose dans ce sens au fichier themes.php de votre thème. Par exemple:

functions.php:

function load_scripts() {
    global $post;

    if( is_page() || is_single() )
    {
        switch($post->post_name) // post_name is the post slug which is more consistent for matching to here
        {
            case 'home':
                wp_enqueue_script('home', get_template_directory_uri() . '/js/home.js', array('jquery'), '', false);
                break;
            case 'about-page':
                wp_enqueue_script('about', get_template_directory_uri() . '/js/about-page.js', array('jquery'), '', true);
                break;
            case 'some-post':
                wp_enqueue_script('somepost', get_template_directory_uri() . '/js/somepost.js', array('jquery'), '1.6', true);
                break;
        }
    } 
}

add_action('wp_enqueue_scripts', 'load_scripts');

Cela vous donne un contrôle total sur ce qui est chargé, un emplacement centralisé dans votre fichier themes.php pour éditer ce qui est chargé où: et utilise ainsi les méthodes wordpress pour ajouter du javascript à vos messages et à vos pages safe.

26
Ben HartLenn

Ce que je ferais est soit de placer dans le pied de page ou l'en-tête et d'utiliser des conditions php.

Par exemple:

<?php if (is_page ('your-page')){?>

  <script type="text/javascript" src"the file path"></script>

<?php } elseif ( is_page ('another')){?>

  <script type="text/javascript" src"the file path"></script>

<?php } else { ?>

  <script type="text/javascript" src"the file path"></script>

<?php } ?>

De cette façon, vous n’appelez pas tous les scripts tout le temps à chaque chargement de page et vous n’appelez que ceux dont vous avez besoin.

Voici un lien vers le codex Wordpress http://codex.wordpress.org/Conditional_Tags

Et si vous avez des scripts spéciaux nécessitant un appel unique, utilisez des champs personnalisés.

2
Nicole

L’autre méthode testée consiste à ajouter une page directement à partir de l’éditeur et à ajouter des commentaires avec une balise script, sinon cela ne fonctionnera pas.

<script type="text/javascript">
<!--
var a = 5;
alert("hello world. The value of a is: " + a);
-->
</script>
0
Dev G