php - JS 文件在 WordPress 中调用两次

标签 php javascript wordpress

我正在尝试通过减少 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/

相关文章:

javascript - 对数据库查询的实时过滤

php - 数组值的 Laravel 文件扩展名

PHP 不支持的操作数类型

c# - 在 Chrome 缓存中调试 MVC2 项目过于激进

javascript - 如何在 casper 测试文件中包含文件内容?

php - 自动启用虚拟和可下载的产品设置

wordpress - 如何从视频嵌入 wordpress 中摆脱 "fluid-width-video-wrapper"类

php - MySQL所有变量不传递数据

javascript - setState 被设置为数组 onClick 的最后一个元素,无论目标元素如何

php - Wordpress Woocommerce 产品在页面刷新时被添加到购物车