0

基本上这正是我正在做的:

当我在functions.php上这样做时它不起作用

//functions.php
add_action('init', 'override_jquery');

function override_jquery() {
    if( !is_admin()){
        wp_deregister_script('jquery');
        wp_enqueue_script( 'nashgraphics_jquery_library', get_template_directory_uri() . '/bootstrap/js/jquery-1.9.0.min.js');
    }
}

当我作为插件执行此操作时,它可以工作

//my_plugin.php
add_action('wp_enqueue_scripts', 'override_jquery');

function override_jquery() {
    $plugin_location=WP_PLUGIN_URL.'/'.str_replace(basename( __FILE__),"",plugin_basename(__FILE__));
    if( !is_admin()){
        wp_deregister_script('jquery');
        wp_enqueue_script( 'nashgraphics_jquery_library', $plugin_location . 'fancybox/library/jquery-1.9.0.min.js');
    }
}

我的问题是我需要通过functions.php覆盖JQuery库,因为我正在尝试开发自己的主题,需要不同版本的jquery

并且不要将 jquery 库作为插件覆盖,因为如果我禁用该插件,那将是一个严重的问题。

有人可以解释一下为什么当我在functions.php中执行它时它不包含jquery库,而当我将它作为插件执行时它可以工作?

4

1 回答 1

0

你没有jquery再次命名脚本。尝试这个:

function override_jquery() {
    if( !is_admin()){
        wp_deregister_script('jquery');
        wp_register_script( 'jquery', get_template_directory_uri() . '/bootstrap/js/jquery-1.9.0.min.js');
        wp_enqueue_script('jquery');
    }
}

您应该注意,不建议在 WordPress 中使用您自己的 jQuery。阅读这个那个

于 2013-04-30T05:06:06.323 回答