只在使用了某个页面模板的页面上加载指定的 JavaScript 文件吗,在下面的代码中,首页我们加载了每个页面都需要的 jQuery 和 Main.js 文件,然后判断当前页面是否使用了指定的页面模板,然后根据判断结果加载指定页面模板需要的 JavaScript 文件。
//注册加载函数到 hook 上 add_action('wp_enqueue_scripts', 'my_theme_load_scripts'); // 加载样式和脚本 function my_theme_load_scripts(){ wp_enqueue_script('jquery'); // 加载每个页面都需要的 JavaScript 文件 wp_enqueue_script('my_second_script', get_template_directory_uri() . '/js/main.js'); if(is_page()){ //检查当前页面 global $wp_query; // 插件是否使用了某页面模板 $template_name = get_post_meta( $wp_query->post->ID, '_wp_page_template', true ); if($template_name == 'portfolio-archive.php'){ // 如果使用了指定的页面模板,加载需要库 wp_enqueue_script('my_third_script', get_template_directory_uri() .'/js/imagesloaded.js'); ... } } }
在实际的 WordPress 主题开发工作中,并不是每个主题都需要这么操作。如果某主题使用的 JavaScript 文件比较少,全部加载一起也没有多大,我们完全可以把这些 JavaScript 文件合并在一起文件中,这样不但可以减少页面请求数,还可以把脚本文件缓存到客户端,打开下一个页面的时候不用再下载一次。
具体什么时候合并代码到一个文件,什么时候拆分代码按需加载,要看主题的实际情况,灵活确定。