ВОПРОС
В одном из дополнений WordPress у меня в основном работает простой скрипт jQuery. Он использует такую оболочку:
$(document).ready(function)(){
//мой код
});
Код я запускаю из панели инструментов WordPress. Этот скрипт запускается только после того, как прогрузится инфраструктура jQuery.
Затем я запускаю проверку в Firebug, и он каждый раз выдает ошибку «TypeError: $ is not a function». Я долго работал над решением возникшей проблемы. Но что бы я ни делал, все равно каждый раз появляется эта ошибка. Теперь я даже не имею понятия, что можно сделать.
В принципе, у меня есть некоторые мысли. Например, сделать такую обертку для скрипта:
(function($){
//мой код
})(jQuery);
В общем, я буду очень благодарен, если вы все же сможете дать совет, которые поможет убрать эту ошибку.
ОТВЕТ
Когда jQuery стоит в очереди WordPress, появляются некоторые особенности и трудности при написании скриптов. Например, не стоит применять «$» для вызова функции. Лучшим решением будет заменить его на «jQuery».
Вы предложили одно решение – обернуть свой код в функцию. Думаю, это достаточно разумное решение, которое скорее всего хорошо сработает. Также есть еще один вариант – выполнять загрузку jQuery другим способом. Но при использовании WordPress этот способ может выдать большое количество ошибок. Поэтому вам стоит подумать, стоит им пользоваться или нет.
Если вам все же так необходимо использовать «document.ready», то можно использовать «$» для вызова функции, но если только таким способом:
jQuery(function ($){…