我正在尝试通过减少 WP 网站上的 JS 文件数量来减少请求数量。我成功地将大约 7 个 javascript 文件合并为一个 (site.js
)。现在,我使用的插件有自己的 JS 文件 (pluginA.js
),我想在该 site.js 中包含 (pluginA.js
)。但是,如果我只是将pluginA JS内容复制到site.js,然后将位置更改为/files/site.js
,则firebug的NET选项卡显示site.js被请求/调用两次。我认为这是由于 wp_enqueue_script
造成的。
我怎样才能让它不第二次调用site.js,而只是查看已经加载的site.js?
也许有 wp_enqueue_script
的替代方案?
插件的php文件:
add_action( 'wp_enqueue_scripts', 'testplugin_scripts');
function testplugin_scripts() {
/*global $testplugin_version; */
$default_selector = 'li:has(ul) > a';
$default_selector_leaf = 'li li li:not(:has(ul)) > a';
wp_enqueue_scripts('test-plugin', site_url('/files/site.js', __FILE__), array('jquery'), $testplugin_version);
$params = array(
'selector' => apply_filters('testplugin_selector', $default_selector),
'selector_leaf' => apply_filters('testplugin_selector_leaf', $default_selector_leaf)
);
wp_localize_script('test-plugin', 'testplugin_params', $params);
}
最佳答案
如果单独包含它或将其包含在 site.js 文件中的加载时间差异很小,那么我会保留plugin.js。唯一的原因是,如果您继续添加到 site.js 然后下载新版本的插件,您可能会遇到困难。作为补偿,我会使用 JS 压缩器,它可以显着减小 site.js 的大小,从而可能比简单地减少 HTTP 请求数量提供更大的好处。
关于php - JS 文件在 WordPress 中调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13538261/