Intereting Posts
получать только одобренных пользователей (плагин для конечных пользователей) Определите, вызван ли вызов the_post из списка сообщений администратора Когда в WordPress я пытаюсь запустить php-скрипт напрямую, я перенаправлен на домашнюю страницу как добавить значение acf в код для других плагинов? как создать параметры экспорта / импорта темы в wordpress без плагина таксономический шаблон для настраиваемого типа сообщений аналогичен архиву Передача переменной PHP в javascript Как загрузить дополнительные сообщения пользовательского типа с помощью кнопки AJAX и LOAD MORE POSTS Пользовательские полевые множественные оговорки Пустая панель инструментов в WordPress Передача идентификатора страницы в скрипт php для входа в систему Список определенных пользовательских типов сообщений в пользовательском шаблоне Composer setup-config.php не найден Страница действия WordPress не найдена get_pages () не заказывает, как следует

Всегда последний google jQuery вместо стандартного WordPress jQuery

Я успешно использую файлы jQuery для Google CDN вместо встроенных файлов WordPress со следующим кодом в моих functions.php:

function register_jquery() { if (!is_admin()) { wp_deregister_script('jquery-core'); wp_register_script('jquery-core', 'https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js', true, '2.2.0'); wp_enqueue_script('jquery-core'); wp_deregister_script('jquery-migrate'); wp_register_script('jquery-migrate', 'https://cdn.jsdelivr.net/jquery.migrate/1.2.1/jquery-migrate.min.js', true, '1.2.1'); wp_enqueue_script('jquery-migrate'); wp_deregister_script('jquery-ui'); wp_register_script('jquery-ui', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js', true, '1.11.4'); wp_enqueue_script('jquery-ui'); } } add_action( 'wp_enqueue_scripts', 'register_jquery' ); 

Я думаю, что преимущества использования google lib – это Google CDN и кеширование на стороне клиента библиотеки.

Мой вопрос:

Как я могу изменить код, чтобы автоматически загрузить последние версии jQuery версий из Google?

Хороший ответ

Единственный хороший ответ на этот вопрос – это не так – просто.

Программное обеспечение в целом ожидают, что работа будет работать определенным образом, а библиотеки, которые постоянно развиваются, могут breaking changes . Это означает, что изменение приведет к тому, что еще одна часть программного обеспечения перестанет работать правильно, что может быть ограничено по объему или сломать все JS на странице.


В Google CDN нет latest версии каталога.

версии:

2.2.0, 2.1.4, 2.1.3, 2.1.1, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 1.12.0, 1.11.3, 1.11.2, 1.11. 1, 1.11.0, 1.10.2, 1.10.1, 1.10.0, 1.9.1, 1.9.0, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.2, 1.7.1, 1,7,0, 1,6,4, 1,6,3, 1,6,2, 1,6,1, 1,6,0, 1,5,2, 1,5,1, 1,5,0, 1,4,4, 1,4,3, 1,4,2, 1,4. 1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.6, 1.2.3

Но вы можете ссылаться на jQuery CDN – https://code.jquery.com/jquery-latest.min.js – хотя он очень не приветствуется jQuery на основе их сообщения – Don't Use jquery-latest.js

Ранее на этой неделе в jQuery CDN возникла проблема, из-за которой файлы jquery-latest.js и jquery-latest.min.js недоступны в течение нескольких часов в некоторых географических районах. (Это не проблема с самим CDN, но с репозиторием, который предоставляет файлы для CDN.) Хотя мы всегда надеемся на 100% время безотказной работы, этот конкретный отток подчеркивал количество производственных сайтов, следующих за антипаттерном использования этого файла , Итак, давайте будем ясно: не используйте jquery-latest.js на производственном сайте.

Плохой ответ

В то время как все, с кем вы говорите, должны сказать вам никогда не использовать latest в производстве, когда вы решаете проявлять осторожность к ветру, просто не забудьте yolo свои методы с помощью yolo . Это гарантирует, что любой, кто смотрит на ваш код, сразу узнает, что вы повстанцы, а иногда вы должны разорвать свой сайт, чтобы сделать омлеты.

К сожалению, или, к счастью, в зависимости от того, с кем вы разговариваете, на остальные библиотеки нельзя ссылаться latest .

 function register_jquery_yolo() { // FIXME: This conditional should be removed: // if ( ! is_admin() ) { wp_deregister_script( 'jquery-core' ); wp_register_script( 'jquery-core', 'https://code.jquery.com/jquery-latest.min.js', true, 'latest-yolo' ); wp_enqueue_script( 'jquery-core' ); wp_deregister_script( 'jquery-migrate' ); wp_register_script( 'jquery-migrate', 'https://cdn.jsdelivr.net/jquery.migrate/1.2.1/jquery-migrate.min.js', true, '1.2.1' ); wp_enqueue_script( 'jquery-migrate' ); wp_deregister_script( 'jquery-ui' ); wp_register_script( 'jquery-ui', 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js', true, '1.11.4' ); wp_enqueue_script( 'jquery-ui' ); // } } add_action( 'wp_enqueue_scripts', 'register_jquery_yolo' ); 

Я думаю, что преимущества использования google lib – это Google CDN и кеширование на стороне клиента библиотеки.

Одной из проблем BIG с использованием latest является то, что вы фактически не хотите кэшировать файл, потому что URL всегда должен указывать на обновленный файл. Как еще вы могли бы получить последние данные, если они были кэшированы?


Я все еще не понимаю, почему кто-то все еще использует if (! Is_admin ()) при использовании wp_enqueue_scripts. Это совершенно бесполезно без каких-либо целей – Pieter Goosen

Как было указано, if ( ! is_admin() ) не следует использовать в этом случае. wp_enqueue_scripts для интерфейсных скриптов, admin_enqueue_scripts для сценариев администратора и login_enqueue_scripts для страниц входа.

Один: Вообще, как указано в комментариях, это плохая идея для вашего кода, потому что все сломается. https://blog.jquery.com/2014/07/03/dont-use-jquery-latest-js/

Два: были некогда ссылки на «последние» jQuery-библиотеки в API Google – то есть, используя имя файла jquery-latest.js – но не более: https://stackoverflow.com/questions/12608242/latest-jquery- версия-на-Googles-CDN

Мы знаем, что http://code.jquery.com/jquery-latest.js злоупотребляют из-за статистики CDN, показывающей, что это самый популярный файл. Это было бы не так, если бы разработчики использовали только локальную копию.

Мы решили прекратить обновление этого файла, а также сокращенную копию, сохраняя оба файла в версии 1.11.1 навсегда.

Команда Google CDN присоединилась к нам в рамках этих усилий, чтобы предотвратить непреднамеренный разрыв сети и больше не обновляет файл по адресу http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js . Этот файл останется заблокированным и в версии 1.11.1.