Ошибка «TypeError: $ is not a function» может возникать в WordPress, когда есть конфликт между версией jQuery, используемой сайтом WordPress, и плагином или темой. Символ «$» используется в качестве псевдонима для объекта jQuery, и когда используемая версия jQuery отличается от той, которую ожидает плагин или тема, символ «$» не распознается как функция.

Замена $ на jQuery
Обычно проще всего заменить в проблемном скрипте название функции $ на jQuery.
При этом необязательно менять все вхождения. Например, если у вас такой код:
|
1 2 3 |
$(document).ready(function () { // здесь еще какой-то код, где встречается $ }); |
Изменяем его: вместо $ в начале пишем jQuery, а в аргумент function добавляем $. Внутри самой функции вхождения $ можно оставить:
|
1 2 3 |
jQuery(document).ready(function($) { // внутри функции $ можно оставить. }); |
Если же у вас код не внутри функции, как на примере выше, тогда можно заключить его в функцию jQuery следующим образом:
- сверху добавить строку
jQuery( function ($) { - а снизу
});
Должно получится так:
|
1 2 3 |
jQuery( function ($) { // здесь ваш код с $ }); |
Использование noConflict
jQuey позволяет переименовать $. Делается это так:
|
1 2 3 4 5 |
// вместо $ будем использовать x let x = $.noConflict() // далее используем x x('.var').function(){} |
Есть и другие способы, но тех, что описаны, должно быть достаточно, чтобы избавиться от проблемы.



