Le moyen le plus efficace pour ajouter un fichier javascript à un article et / ou à des pages spécifiques?
-
-
Lesméta-boîtes/champspersonnalisés sont votremeilleure optionMeta boxes / custom fields are your best option
- 0
- 2012-10-10
- Miha Rekar
-
Comment définiriez-vous l'efficacité?How would you define efficiency?
- 0
- 2012-10-10
- fuxia
-
Par «efficace»,j'entends lemoins de redondance de codeet lemoyen leplusefficace de lefaire spécifiquementpour un seul article/page.By 'efficient' I mean the least amount of code redundancy and the most effective way to go about doing this specifically for a single post/page.
- 1
- 2012-10-10
- mousesports
-
3 réponses
- votes
-
- 2012-10-10
Jepense que lemeilleur équilibreentre l'efficacitéet l'utilisation deméthodes wordpress appropriéespour ajouter dujavascript serait d'ajouter quelque chose dans ce sens à votrefichierthemesfunctions.php. Parexemple:
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ôletotal sur ce quiest chargé où,unemplacement centralisé dans votrefichierfunctions.phppourmodifier ce quiest chargé où:et,de cettefaçon,utilise desméthodes wordpresspour ajouter dujavascript à vos articleset pages en toute sécurité .
I think the best balance between efficiency, and using proper wordpress methods for adding javascript would be adding something along these lines to your themes functions.php file. For Example:
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');
This gives you full control over what gets loaded where, a centralized location in your themes functions.php file for editing what gets loaded where: and, this way uses wordpress methods for adding javascript to your posts and pages safely.
-
Joliepetite fonction.Vous avez raison de dire qu'ilest utile d'avoir un «emplacement centralisé».Mercibeaucoup.Nice little function. You're right about it being useful to have a 'centralized location'. Thanks a bunch.
- 1
- 2012-10-10
- mousesports
-
Je suppose que celapeut êtrenettoyé unpeu.Vous vérifiezfondamentalement lamême chose avec deuxboîtiers d'interrupteurs différents.Je dirais combiner les deux cas de commutation,et le conditionnelif pourrait être `if (is_page ()|| is_single ())`.Quepensez-vous Ben?I guess this can be cleaned up a bit. You're basically checking the same thing with two different switch-cases. I'd say combine both switch-cases, and the conditional if could be `if (is_page() || is_single())`. What do you think Ben?
- 3
- 2012-10-11
- mousesports
-
Celame semble une amélioration.Bon!Sounds like an improvement to me. Good one!
- 0
- 2012-10-11
- Ben HartLenn
-
@Benest-ce le *functions.php * oneinsidetheme ou dans * wp-includes *?Letitre demapageest * Accès à Home Online *et j'aimis votrefonctionen changeant «home»en «Accessto Home Online»mais celane fonctionnepas?@Ben is it the *functions.php* one inside theme or in *wp-includes* ? my page title is *Access to Home Online* and I have put your function changeing `home` to `Access to Home Online` but it is not working ?
- 0
- 2017-02-07
- Ciasto piekarz
-
@Ciastopiekarz J'aimis àjourma réponsepourmieuxmontrer que le code va dans votrefichierfunctions.php dethèmes.@Ciastopiekarz I've updated my answer to better show that the code goes in your themes functions.php file.
- 0
- 2017-03-13
- Ben HartLenn
-
Pas deproblème,je l'aifaitfonctionneril y a longtempsNo problem I got it working long time back
- 0
- 2017-03-13
- Ciasto piekarz
-
- 2012-10-10
Ce queje ferais,c'est deplacer dans lepied depage ou l'en-têteet d'utiliser les conditionsphp.
Parexemple:
<?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 cettefaçon,vousn'appelezpastous les scriptstout letemps à chaque chargement depageet vousn'appelez que ceux dont vous avezbesoin.
Voici un lien vers le codex Wordpress http://codex.wordpress.org/Conditional_Tags
Et si vous avez des scripts spéciaux quine doivent être appelés quepar article,utilisez des champspersonnalisés.
What I would do is either place in the footer or header and use php conditionals.
For example:
<?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 } ?>
This way your not calling all the scripts all the time on each page load and your only calling the ones you need.
Here is a link to the Wordpress codex http://codex.wordpress.org/Conditional_Tags
And if you have special scripts that might only need to be called on a per post basis use custom fields.
-
Merci Nicole - c'était len ° 3.C'est une solution décente étant donné queje ne vaispas avoirbeaucoup depages ...je pensetoujours à cela.Thanks Nicole - this was #3. It's a decent solution considering I'm not going to have many pages... still considering it.
- 0
- 2012-10-10
- mousesports
-
Ce quej'ai ci-dessuspeut être utilisé avec les différents éléments du codex wordpresstels que:is_categories,is_single (pour les articles),is_post_type ... J'ai ajouté un lien vers la liste conditionnelle de wordpress dansma réponse ci-dessus.Whati have above can used with the various items of the wordpress codex such as: is_categories, is_single (for posts), is_post_type ... I added a link to wordpress's conditional list in my answer above.
- 0
- 2012-10-10
- Nicole
-
- 2017-03-02
L'autreméthodetestéeest ci-dessous,ajoutez unepage directement depuis l'éditeuret ajoutez des commentaires avec unebalise de script,sinon celane fonctionnerapas.
<script type="text/javascript"> <!-- var a = 5; alert("hello world. The value of a is: " + a); --> </script>
The other tested way is below add in page directly from editor and do add comments with in script tag other wise it won't work.
<script type="text/javascript"> <!-- var a = 5; alert("hello world. The value of a is: " + a); --> </script>
Jeme demande quelleest laméthode laplusefficacepour ajouter unfichierjavascript spécifiquementpour un articleet/ou unepage.
Voici quelques solutions quej'aitrouvées:
Enpassant,aucun desfichiers JavaScriptne serapartagéentre lespages -il sera littéralement spécifique à ce que vous consultez actuellement.
Despensées?