Есть ли способ отключить режим jQuery noconflict в Wordpress?

Есть ли способ отключить режим noconflict jquery в Wordpress? Я не имею в виду загрузку альтернативной версии jquery или общих обходных решений:

jQuery(document).ready(function( $ ) {
});

или

(function($) {
})( jQuery );

Я имею в виду, есть ли способ отключить режим noconflict для jquery, поставляемого с Wordpress?

Как работает настройка jQuery.noConflict(false)? и если да, где бы вы его установили?

Ответ 1

После некоторых исследований, это лучший ответ, который я могу вам дать:

$ = jQuery.noConflict(true);

Чтобы ответить на другой вопрос, вы не можете передать false, атрибут используется для контроля того, что происходит с глобальными переменными. Документацию можно найти здесь: http://api.jquery.com/jQuery.noConflict/

Также обратите внимание, что вы можете загрузить две разные версии jQuery, как она предлагает (но не рекомендуется).

Ответ 2

Если вы включаете свою собственную библиотеку javascript или скрипты, вы можете добавить следующее к самому верхнему:

 var $ = jQuery;

Ответ 3

Я нашел другой способ сделать переменную $ доступной по всему миру. Просто поставьте следующее в своей теме functions.php или в плагин:

function so17687619_jquery_add_inline() {
    wp_add_inline_script( 'jquery-core', '$ = jQuery;' );
}
add_action( 'wp_enqueue_scripts', 'so17687619_jquery_add_inline' );

Это приведет к выводу $ = jQuery; в качестве встроенного script сразу после тега script для jQuery. Таким образом, любые скрипты, включенные после, имеют экземпляр jQuery, доступный как $ и jQuery.

Ответ 4

Чтобы отключить, перейдите в файл wp-includes/js/jquery/jquery.js и удалите jQuery.noConflict() из последней строки. Или, как вы предположили, просто установите значение boolean равным false.

Чтобы вы могли заменить содержимое чистой загрузкой с jquery.com, в trac происходит интенсивная дискуссия.

Ответ 5

Добавление этого сработало для меня наконец:

var $ = jQuery.noConflict();

Вы можете добавить это в свой файл header.php в разделе head:

<script>var $ = jQuery.noConflict();</script>

Или, если вы используете дочернюю тему, добавьте это в functions.php в каталог дочерних тем:

function my_scripts_method() {
    wp_enqueue_script(
        'custom-script',
        get_stylesheet_directory_uri() . '/main.js',
        array( 'jquery' )
    );
}
add_action( 'wp_enqueue_scripts', 'my_scripts_method' );

И создайте файл main.js в том же месте, что и functions.php(в директории child theme direcotry), и в этом файле добавьте следующее:

var $ = jQuery.noConflict();