Загрузить скрипт WordPress 5.2 jQuery из CDN

До 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);
});

Почему вы пытаетесь зарегистрировать ту же версию jQuery, что и WP. Если вы просто хотите иметь возможность использовать его, ответ @johannes подходит. Вам просто нужно поставить скрипт в очередь.

Faham Shaikh 29.05.2019 22:19

Вместо этого я хочу загружать jQuery из CDN локально — это влияет на Google Pagespeed Insights. А также удалить файл jquery-migrate.min.js, потому что в большинстве случаев он не используется.

Tony 30.05.2019 08:57

Если это так, попробуйте использовать крючок 'wp_enqueue_scripts' вместо 'init'.

Faham Shaikh 30.05.2019 16:40

Также взгляните на этот вопрос

Faham Shaikh 30.05.2019 16:43
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
4
1 025
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Обычно достаточно вставить это в тег head в файле header.php:

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

А Wordpress сделает все остальное...

Ответ принят как подходящий

Мне удалось загрузить jQuery из Google CDN, однако 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);
});

и для загрузки определенной версии jQuery из CDN я использовал этот код, который работает

// 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.

Другие вопросы по теме