Javascript 使ShareThis(脚本)仅在某些页面上加载

Javascript 使ShareThis(脚本)仅在某些页面上加载,javascript,php,wordpress,Javascript,Php,Wordpress,我们有一个WordPress网站,我们使用一个程序为我们的网站创建共享按钮。这叫做共享。要将它集成到我们的站点,我们所要做的就是将以下脚本添加到header.php中 <script type='text/javascript' src='//platform-api.sharethis.com/js/sharethis.js#property=58ff3bc2a9dabe0012b03357&product=inline-share-buttons' async='async'&

我们有一个WordPress网站,我们使用一个程序为我们的网站创建共享按钮。这叫做共享。要将它集成到我们的站点,我们所要做的就是将以下脚本添加到header.php中

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


我们做到了,而且它工作得很好。但是有没有办法让这个脚本只在我们的博客上加载,而不是在我们网站的每个页面上加载?它使我们的网站速度降低了大约400毫秒,并且只在我们的博客文章中使用。

实际上有一种简单的方法可以做到这一点。 在标题中,您可以这样做。首先我会解释什么,然后你怎么做

您可以通过检查
$\u服务器['REQUEST\u URI']
变量是否以'blog'开头或加载所需的页面前缀(例如
http://yoursite.com/blog/(post)

如何:

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>";
}
if(0==strpos($\u SERVER['REQUEST\u URI'],'/blog')){
//加载脚本
回声“;
}

在第一次请求之后,它是否会被缓存,然后在后续请求中不需要额外的400毫秒?缓存之后,它肯定会更快,但是有没有理由让它加载到任何不必要的页面上?换句话说,使用下面建议的代码只在博客上加载它有什么缺点吗?我们没有其他需要分享的领域。难以置信。我发现我所有的博客文章都以blog开头。现在我需要知道的是,我应该在哪里添加您与旧代码一起添加的代码?我假设它都在header.php下,但是如何确保您添加的代码只适用于ShareThis代码,而不适用于我的所有其他javascript?它是这样的:if(0===strpos($\u SERVER['REQUEST\u URI'],'/blog'){//Load script}要加载脚本,只需在
if
语句中回显脚本标记if(0==strpos($\u SERVER['REQUEST\u URI'],'/blog'){echo”“;}P.S.我编辑了我原来的回答Hello。非常专业。我在myheader.php中添加了:if(0==strpos($\u SERVER['REQUEST\u URI'],'/blog'){//Load script echo”“;},但是它不起作用。每当我打开站点时,页面顶部都会显示代码:if(0==strpos($\u SERVER['REQUEST\u URI'],'/blog'){//Load script echo”“;}啊,简单的问题。确保将代码包装在php标记中,如下所示:
Ty!因此: