从CDN加载WordPress 5.2 jQuery脚本

时间:2019-05-29 16:26:31

标签: jquery wordpress

直到WP 5.0,以下代码均有效。在WP 5.2之后,它不再起作用。我收到一条错误消息,建议使用wp_enqueue_scripts而不使用wp_deregister_script anymore

add_action('init', function() 
{
  if (is_admin()) 
  {
    return;
  }

  global $wp_scripts;
  if (isset($wp_scripts->registered['jquery']->ver)) 
  {
    $ver = $wp_scripts->registered['jquery']->ver;
  } 
  else 
  {
    $ver = '1.12.4';
  }

  wp_deregister_script('jquery');
  wp_register_script('jquery', "https://ajax.googleapis.com/ajax/libs/jquery/$ver/jquery.min.js", false, $ver);
});

2 个答案:

答案 0 :(得分:0)

通常只需将其插入head文件中的header.php标记中即可:

<?php wp_enqueue_script('jquery'); ?>

剩下的事情由Wordpress完成...

答案 1 :(得分:0)

我设法从Google CDN加载jQuery-但是WordPress在输出脚本版本中添加了-wp:https://ajax.googleapis.com/ajax/libs/jquery/1.12.4-wp/jquery.min.js-而不是https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js。这是我使用的有效的功能:

// Load jQuery from Google CDN
add_action('wp_enqueue_scripts', function() {
    if (is_admin()) {
        return;
    }

    global $wp_scripts;
    if (isset($wp_scripts->registered['jquery']->ver)) {
        $ver = str_replace('-wp', '', $wp_scripts->registered['jquery']->ver);

    } else {
        $ver = '1.12.4';
    }

    wp_dequeue_script('jquery');
    wp_deregister_script('jquery');
    wp_register_script('jquery', "https://ajax.googleapis.com/ajax/libs/jquery/$ver/jquery.min.js", false, $ver);
});

并从CDN加载特定版本的jQuery,我使用了有效的代码

// Load jQuery from Google CDN
add_action('wp_enqueue_scripts', function() {
    if (is_admin()) {
        return;
    } else {
        $ver = '1.12.4';
    }

    wp_dequeue_script('jquery');
    wp_deregister_script('jquery');
    wp_register_script('jquery', "https://ajax.googleapis.com/ajax/libs/jquery/$ver/jquery.min.js", false, $ver);
});

这些功能还从加载中删除了jquery-migrate.min.js。