我如何才能只在博客页面上加载特定的Java脚本?

时间:2014-02-21 作者:DigitalSky

这就是我现在的处境。我正在开发一个网站,在该网站的单个帖子页面上,我使用各种社交共享按钮(即Google+、Facebook、LinkedIn、Twitter等)。我正在遵循每个按钮的官方开发人员文档,其中大多数按钮都需要在结束标记之前插入JavaScript。

这一切都很好,很漂亮,我已经把它做得很好了。然而,我唯一的问题是,由于这些社交图标只出现在单帖博客页面上,我不希望在其他页面上加载JavaScript,因为它只会添加不必要的资源来加载,我希望尽可能快地保持页面速度。

就我的一生而言,我不知道该怎么做。起初,我考虑编写一些有条件的PHP代码,检测您是否在一个帖子页面上,如果是,它会在页脚中加载脚本。然而,我意识到我不认为有一种现实的方法可以做到这一点,因为每个帖子的URL中都没有URL的一致部分(即/blog/)。

我可以将JavaScripts添加到单个。php模板,但这也不起作用,因为它通过调用这些页面中的页脚,我希望这些脚本加载到页脚中,而不是模板本身。

无论如何,任何意见都将不胜感激。我确信有办法做到这一点,我只是绞尽脑汁想不出来。

1 个回复
SO网友:Chip Bennett

正确地enqueue 脚本通过连接到相应挂钩的回调使用上下文conditional tags 例如,要确定何时排队,您可以执行以下操作:

function wpse135482_enqueue_scripts() {
    // Only enqueue this script on single post pages
    if ( is_singular( \'post\' ) ) {
        wp_enqueue_script( $args );
    }
}
add_action( \'wp_enqueue_scripts\', \'wpse135482_enqueue_scripts\' );
进一步阅读:

结束