我正在修复使用1.0.0版jquery的wordpress插件。wordpress中自动包含的jquery版本为1.11.0。在测试站点中,插件依赖于1.0.0 jquery,在最新版本上不起作用。
但是,它在测试站点上工作,因为插件是在wp之前加载的--包括/js/ jquery /jquery.js,并且在脚本被最新的jquery版本覆盖之前,它使用自己的jquery库版本。它不会在控制台中产生任何错误。
但是在生产站点中,它会在wp-include/jquery/jquery.js之后加载所有插件。那么,在wordpress加载wp-include/jquery/jquery.js文件之前,如何强制插件加载呢?
这是插件中的代码:
add_action('init', 'myplugin_init');
function myplugin_init() {
wp_enqueue_script('jquery.min', plugins_url(MYPLUGIN_FOLDER . '/js/jquery.min.js'), array(), '1.0.0', false);
wp_enqueue_script('highcharts', plugins_url(MYPLUGIN_FOLDER . '/js/highcharts.js'), array(), '1.0.0', false);
wp_enqueue_script('exporting', plugins_url(MYPLUGIN_FOLDER . '/js/exporting.js'), array(), '1.0.0', false);
}
为了测试目的,我已经尝试在wp_head();
之前强制插件脚本的队列,但是它仍然在wp-include/jquery/jquery.js之后加载插件文件。
<?php
wp_enqueue_script('jquery.min', plugins_url(MYPLUGIN_FOLDER . '/js/jquery.min.js'), array(), '1.0.0', false);
wp_enqueue_script('highcharts', plugins_url(MYPLUGIN_FOLDER . '/js/highcharts.js'), array(), '1.0.0', false);
wp_enqueue_script('exporting', plugins_url(MYPLUGIN_FOLDER . '/js/exporting.js'), array(), '1.0.0', false);
wp_head();
?>
任何帮助都是非常感谢的。谢谢。
发布于 2019-05-31 13:38:25
你试过jQuery迁移了吗?它为不推荐的jQuery函数提供了向后兼容性。
https://wordpress.stackexchange.com/questions/157295
复制相似问题