Wordpress 覆盖 Jquery 问题

问题描述 投票:0回答:1

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

当我在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库,而当我作为插件执行它时它可以工作吗?

php jquery wordpress jquery-plugins wordpress-theming
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。阅读这个那个

© www.soinside.com 2019 - 2024. All rights reserved.