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:
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?
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.
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.
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>