0
121
2018-11-23

Подключение jQuery в WordPress (верный путь)

Если вы хотите, вы можете просто загрузить jQuery , поместить его на свой сервер и связаться с ним из своего header.php файла. Но это может вызвать у вас "горе"...
Понравилась страница? Поставь свою оценку!
PLUGIN_STAR_RATINGS.SCORE_TEXTPLUGIN_STAR_RATINGS.VOTES_TEXT

Во-первых, некоторые плагины используют библиотеку 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:

var $j = jQuery.noConflict();

$j(function(){

    $j("#sidebar li a").hover(function(){
        $j(this).stop().animate({
            paddingLeft: "20px&"
        }, 400);
    }, function() {
        $j(this).stop().animate({
            paddingLeft: 0
        }, 400);
    });

});
Статья была переведена для блога TechBlog.SDStudio.top
Источник: https://digwp.com