2017-10-20 13 views
-2

Nous avons un site WordPress où nous utilisons un programme pour créer des boutons de partage pour notre site. C'est ce qu'on appelle ShareThis. Tout ce que nous avons à faire pour l'intégrer à notre site est d'ajouter le script suivant à notre header.php.Faire PartagerCe (un script) charger sur certaines pages seulement

<script type='text/javascript' src='//platform-api.sharethis.com/js/sharethis.js#property=58ff3bc2a9dabe0012b03357&product=inline-share-buttons' async='async'></script> 

Nous l'avons fait - et cela fonctionne parfaitement. Mais y a-t-il un moyen de charger ce script sur notre blog uniquement, et non sur toutes les pages de notre site? Il ralentit notre site d'environ 400 ms et n'est utilisé que dans les messages de notre blog.

+0

Ne serait-il pas mis en cache après la première demande, puis * pas * prendre 400ms supplémentaires sur les demandes ultérieures? –

+0

Il devient définitivement plus rapide après le cache, mais y a-t-il une raison de le charger sur des pages inutiles? En d'autres termes, y a-t-il des inconvénients à utiliser le code suggéré ci-dessous pour le charger uniquement sur le blog? Nous n'avons AUCUN autre domaine où nous devons utiliser le partage. – eMikkelsen

Répondre

2

Il existe en fait un moyen facile de le faire. Dans votre en-tête, vous pouvez le faire. Je vais d'abord expliquer quoi, et ensuite comment.

Vous pouvez le faire facilement en vérifiant si la variable $_SERVER['REQUEST_URI'] commence par « blog » ou le préfixe de la page souhaitée pour charger, par exemple http://yoursite.com/blog/(post)

Comment à:

if (0 === strpos($_SERVER['REQUEST_URI'], '/blog')) { 
    // Load script 
    echo "<script type='text/javascript' src='//platform-api.sharethis.com/js/sharethis.js#property=5‌​8ff3bc2a9dabe0012b03‌​357&product=inline-s‌​hare-buttons' async='async'></script>"; 
} 
+0

Incroyable. J'ai détecté que tous mes articles de blog commencent par un blog. Maintenant, tout ce que j'ai besoin de savoir est où puis-je ajouter le code que vous avez ajouté en conjonction avec l'ancien? Je suppose que tout se passe sous header.php, mais comment puis-je m'assurer que le code que vous avez ajouté ne s'applique qu'au code ShareThis et pas à tous mes autres javascript? Il va: si (0 === strpos ($ _ SERVER [ 'REQUEST_URI'], '/ blog')) {// script charge } – eMikkelsen

+0

Pour charger le script, echo simplement la balise de script dans le 'if' instruction si (0 === strpos ($ _ SERVER ['REQUEST_URI'], '/ blog')) {echo " "; } P.S. J'ai édité ma réponse originale – SirHyperNova

+0

Bonjour. Très professionnel. J'ai ajouté: if (0 === strpos ($ _ SERVER ['REQUEST_URI'], '/ blog')) { // Charger le script echo " "; } Dans mon header.php, cependant, cela ne fonctionne pas. En haut de ma page, chaque fois que j'ouvre le site, le code est affiché: if (0 === strpos ($ _ SERVER ['REQUEST_URI'], '/ blog')) {// Charger le script echo ""; } – eMikkelsen