【问题标题】:Wordpress Override Jquery IssueWordpress 覆盖 Jquery 问题
【发布时间】:2013-04-30 03:10:47
【问题描述】:

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

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

【问题讨论】:

  • 您使用的是子主题吗?
  • 不,我正在尝试制作父主题

标签: jquery jquery-plugins wordpress wordpress-theming


【解决方案1】:

您没有再次命名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。阅读thisthat

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    相关资源
    最近更新 更多