Intereting Posts
Получение терминов таксономии, используемых пользовательским типом сообщения WP User Query получает всех авторов с фамилией, начиная с определенной буквы Не удалось сохранить сообщение WP Категория Мета плагин исправить? Почему POST'ing для моего шаблона страницы WP, создающего 404? Проблема подключения Db на Azure Так как база данных перемещена на CLEARDB Редактирование 375 сообщений одновременно? Может быть, из базы данных? Звуковой код shortclode не работает Можно ли создать экземпляр нового WC_Cart? Как получить доступ к виджетным данным из внешнего виджета? Перемещенный WordPress в подкаталог, по-прежнему захватывающий запросы к файлам за пределами его каталога Как изменить текст «Сбросить пароль» в кнопке отправки не отображается пользовательский шрифт Как фильтровать сообщения по пользовательским полям? Как изменить описание одного и того же изображения, которое можно найти в нескольких экземплярах?

Падение назад CDN в JavaScript

В HTML5 Boilerplate он захватывает JQuery Google CDN с помощью этого JS-кода

<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline --> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.1.min.js"><\/script>')</script> 

Я попытался перенести его в WP с помощью этого PHP-кода

 function sbi_cdn_jquery() { global $wp_scripts; wp_deregister_script('jquery'); echo '<script src="//ajax.googleapis.com/ajax/libs/jquery/' . $wp_scripts->registered['jquery']->ver . '/jquery.min.js"></script>'; echo '<script>window.jQuery || document.write(\'<script src="' . get_bloginfo('wpurl') . '/wp-includes/js/jquery/jquery.js"<\/script>\')</script>'; } add_action( 'wp_enqueue_scripts', 'sbi_cdn_jquery' ); 

Но это не сработает!

Возможно ли это, чтобы упасть? Запишите Google CDN в JavaScript с WP?

Спасибо за помощь.

Скрипты не печатаются на крюке wp_enqueue_scripts , а скорее на крюке wp_print_scripts . Тем не менее: не эхо / печатать сценарии, период . Вместо этого выложите их правильно.

Предостережение . Этот метод является территорией плагина и не должен быть включен в качестве кода темы в общедоступной теме.

Вы отменяете регистрацию jQuery, но вам не хватает того, что вы регистрируете свою собственную версию:

 <?php function sbi_cdn_jquery() { // Deregister core-bundled jQuery // This is dangerous! Understand the // potential consequences before doing this! wp_deregister_script( 'jquery' ); // Register custom jQuery version wp_register_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' ); // Enqueue cusotm jQuery wp_enqueue_script( 'jquery' ); } add_action( 'wp_enqueue_scripts', 'sbi_cdn_jquery' ); ?> 

Обратитесь к записи Codex для wp_register_script() и wp_enqueue_script() относительно аргументов для этих функций.

Я использую эту функцию для регистрации и размещения различных сценариев, которые использует моя тема:

 function cosmos_enqueue_scripts() { // Load jquery from Google CDN (protocol relative) with local fallback when not available if ( false === ( $url = get_transient('jquery_url') ) ) { // Check if Google CDN is working $url = ( is_ssl() ? 'https:' : 'http:' ) . '//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'; $resp = wp_remote_head($url); // Load local jquery if Google down if ( is_wp_error($resp) || 200 != $resp['response']['code'] ) { $url = get_template_directory_uri() . '/js/vendor/jquery-1.7.2.min.js'; } // Cache the result for 5 minutes to save bandwidth set_transient('jquery_url', $url, 60*5); } // Deregister WordPress' jquery and register theme's copy in the footer wp_deregister_script('jquery'); wp_register_script('jquery', $url, array(), null, true); // Load other theme scripts here wp_enqueue_script('modernizr', get_template_directory_uri() . '/js/vendor/modernizr-2.5.3.min.js', array( ), null, false); wp_enqueue_script('bootstrap', get_template_directory_uri() . '/js/vendor/bootstrap.min.js' , array('jquery'), null, true ); wp_enqueue_script('main' , get_template_directory_uri() . '/js/main.js' , array('jquery'), null, true ); } add_action('wp_enqueue_scripts', 'cosmos_enqueue_scripts'); 

Добавлено один и тот же ответ на jquery перестали работать после отмены регистрации версии WordPress , но добавив сюда для справки:

Если вы застряли на использовании версии jQuery, размещенной в Google, на память приходят два плагина:

  • Использовать библиотеки Google
  • WP jQuery Plus

Лучше просто использовать ядро, если вы не на 100% удобны с отладкой JavaScript (если что-то всплывает, как это было) и полностью не контролируют окружающую среду.