如果只需要一个模板文件,wp_enqueue_script是包含js库的最佳方法吗?

时间:2012-04-18 17:42:24

标签: javascript wordpress-theming unobtrusive-javascript wordpress

我想这更像是一般的最佳实践问题。

WordPress建议使用wp_enqueue_script包含脚本,该脚本将脚本添加到堆栈中,但堆栈中的所有内容都会加载到每个页面上。

但是,为了尽可能快地保持首次访问的初始页面加载并防止路由代码破坏其他代码,最好是仅在需要的页面上包含脚本?

我看过很多关于缩小代码的文章,但关于加载代码的时间/位置并不多。有人可以推荐有关此的文献吗?

非常感谢提前。

1 个答案:

答案 0 :(得分:1)

您可以使用任何(我认为)模板标记有条件地将脚本排入队列。我刚测试了这个,它就像一个魅力:

// hook to action
add_action( 'wp_enqueue_scripts', 'conditional_script' );
// function to load script on only the front page
function my_conditional_script() {
    if( is_front_page() ) {
        wp_enqueue_script( 'hello', get_template_directory_uri() . '/hello.js' );
    }
}

对你来说,听起来你可能想要使用if ( is_page( array( 1, 2, 3 ) ) ) {...

我不知道提供gzip和minifying的各种缓存插件(如W3 Total Cache)将如何处理,但是,即使它没有帮助,也不值得在所有页面上加载。