Во-первых, некоторые плагины используют библиотеку jQuery, и они также загружают ее. Это может вызвать проблемы. Как ваш плагин узнал, что он уже загружен?
В наши дни WordPress автоматически загружает jQuery для вас. Интеллектуальная загрузка требует, чтобы вы указывали jquery в качестве $deps параметра при вклеивании ваших других файлов JavaScript, например:
wp_enqueue_script('my-custom-script', get_template_directory_uri() .'/js/my-custom-script.js', array('jquery'), null, true);
Это объявляет jQuery как зависимость my-custom-script, поэтому WordPress автоматически загрузит свою собственную копию jQuery. Для справки, вот параметры, используемые для wp_enqueue_script () :
wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer ) Поэтому, когда мы объявляем наш собственный скрипт, мы устанавливаем $deps параметр равным array(‘jquery').
Теперь предположим, что мы хотим использовать версию jQuery, которая отличается от версии, включенной в WordPress. Мы могли бы просто вставить его в очередь, но тогда на странице будут загружены две копии / версии jQuery (ваши и WP). Поэтому, прежде чем мы введем в очередь нашу собственную версию jQuery, мы должны де-зарегистрировать версию WP. Вот окончательный код, чтобы это произошло:
// include custom jQuery
function shapeSpace_include_custom_jquery() {
wp_deregister_script('jquery');
wp_enqueue_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js', array(), null, true);
}
add_action('wp_enqueue_scripts', 'shapeSpace_include_custom_jquery');
Здесь мы используем wp_deregister_script () для отмены регистрации jQuery WP, прежде чем включать нашу собственную версию, которая для этого примера представляет собой библиотеку jQuery, размещенную в Google , версию 3.1.1. Конечно, вы захотите изменить $srcп араметр, чтобы он соответствовал URL-адресу любого сценария jQuery, который вы хотите использовать.
Итак, это текущий «правильный способ включить jQuery в WordPress». Одно важное замечание для разработчиков тем: публично выпущенные темы должны использовать jQuery WP, а не отменять его. Просто облегчает жизнь в долгосрочной перспективе.
Другое дело, что WordPress уже включает в себя копию jQuery. Вот как вы можете загрузить jQuery в своей теме умный (и предполагаемый) способ. Поместите следующий код в свой header.php файл в разделе…
Скорее всего у вашей темы, вероятно, уже есть wp_head функция, поэтому просто убедитесь, что вы вызываете wp_enqueue_scriptфункцию ДО этого. Теперь вы настроены на вызов собственного JavaScript-файла jQuery, ПОСЛЕ wp_head функции.
Есть еще некоторые соображения. Например, защищая себя от будущей возможности конфликта с другими библиотеками. Вы действительно не должны использовать несколько JS-библиотек.
Чтобы быть супербезопасным, вы можете поместить jQuery в режим «без конфликтов» и использовать другой ярлык для jQuery. В этом случае «$j» вместо стандартного «$». Например, стандартный «$» может конфликтовать с Prototype. Вот пример безопасного jQuery JavaScript:
Статья была переведена для блога TechBlog.SDStudio.top
Источник: https://digwp.com