如何在WordPress jQuery之前加载插件?

时间:2014-08-10 作者:Pau

我正在修复一个使用jquery 1.0.0版本的wordpress插件。wordpress中自动包含的jquery版本是1.11.0。在测试站点中,该插件依赖于1.0.0 jquery,不适用于最新版本。

然而,它在测试站点上工作,因为插件是在wp包含/js/jquery/jquery之前加载的。在脚本被最新的jquery版本覆盖之前,它使用自己的jquery库版本。它不会在控制台中产生任何错误。

但在生产站点中,它在wp包含/js/jquery/jquery之后加载所有插件。那么,在wordpress加载wp includes/js/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包含/js/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();
    ?>
非常感谢您的帮助。谢谢

2 个回复
最合适的回答,由SO网友:bonger 整理而成

1.0.0?真正地无论如何,你可以试试print_scripts_array 过滤器:

// Hack of wp_prototype_before_jquery() in "wp-includes/script-loader.php"
function wpse157295_print_scripts_array( $js_array ) {
    if ( false === $jquery = array_search( \'jquery-core\', $js_array, true ) ) // Now \'jquery-core\', not \'jquery\'
        return $js_array;

    $keys = array( \'jquery.min\', \'highcharts\', \'exporting\' );

    foreach ( $keys as $key ) {
        if ( ( $idx = array_search( $key, $js_array, true ) ) && $idx >= $jquery ) {

            unset($js_array[$idx]);

            array_splice( $js_array, $jquery, 0, $key );
        }
    }

    return $js_array;
}
add_filter( \'print_scripts_array\', \'wpse157295_print_scripts_array\' );

SO网友:Tom Gregory

你试过了吗jQuery Migrate? 它提供了对不推荐使用的jQuery函数的向后兼容性。

结束

相关推荐

如何停止加载多个jQuery副本

我的wordpress标题。php和函数。php如下所示。请帮助我修改php代码,以停止由于多次加载jquery而导致的问题。我的插件和主题正在多次加载jquery。我的文件Header.php Function.php 所有专家都告诉我需要加入排队脚本!!!我阅读了与之相关的不同文件。我对编码是新手,我不知道在哪里添加这个排队脚本,我需要添加什么类型的代码?