Насколько вы знаете, WordPress поставляется с jQuery (при написании статьи использовался WordPress версии 3.2.1). Чтобы использовать jQuery в своих плагинах и темах должным образом, вам необходимо добавить следующий код (в файл functions.php):
wp_enqueue_script("jquery");
Хитрость здесь заключается в том, что по умолчанию копия jQuery находится в режиме совместимости. Это означает, что привычный нам шорткат ‘$’ не будет работать. Сделано это для того чтобы не создавать конфликтов с другими библиотеками Javascript, использующими знак доллара (к примеру, MooTools или Prototype).
Многие создатели плагинов и разработчики тем знают об этом, и используют ‘jQuery’ вместо ‘$’ для сохранения безопасности.
/* Normal jQuery you see everywhere */ $("#some-element").yaddaYaddaYadda(); /* "Safe" jQuery you see in WordPress */ jQuery("#some-element").yaddaYaddaYadda();
Многократное написание строки ‘jQuery’ в скриптах усложняет их читаемость и чрезмерно увеличивает размер скрипта. Давайте прекратим это делать.
Если скрипт загружается в футере (что делается в большинстве случаев), вы можете обернуть код в анонимную функцию (технически, в любую IIFE), в которую будет передаваться ‘$’:
(function($) { // $ Works! You can test it with next line if you like // console.log($); })( jQuery );
Если же вам необходимо загрузить все скрипты в header’е, вам, вероятно, понадобится использовать функцию готовности документа, в которую будет передаваться ‘$’:
jQuery(document).ready(function( $ ) { // $ Works! You can test it with next line if you like // console.log($); });
Теперь вы можете без всяких опасений использовать символ ‘$’ в ваших jQuery-скриптах.
http://digwp.com/2011/09/using-instead-of-jquery-in-wordpress/
Честно говоря не понял))). Вставил wp_enqueue_script("jquery");
в функции темы и ничего не заметил). А вообще тема загрузки и подключения JS интересная, сейчас её рассматриваю… Может как нибудь напишите пост о правильном подключении JS на WP + плагины?!
Про работу с jQuery в WordPress есть целая рубрика "Wordpress и jQuery" — перевод книги с таким же названием. Там рассматривалось и использование доллара, но я решил вынести это еще раз в отдельный пост. Если интересует эта тема, перейдите в рубрику, в самый ее конец, и по очереди читайте записи, они идут в порядке изучения курса.
Насколько вы знаете, использование jQuery вместо $ действительно не случайно.
И поломать намеренно реализованную систему защиты ради того, чтобы можно было копипастить код сомнительного качества — это очень плохая практика. Если вам так неймется, сделайте все с $, а потом пробегитесь автозаменой.
Да, про знак доллара здесь сказано:
Так что, как говорится, используем на свой страх и риск.
Если работает конструкция типа: jQuery(document).ready(function( $ )
Почему не работает конструкция типа: jQuery(«#cp_action_save_deadline»).click(function($)?
Если ее применяю, то внутри знак $ выдает ошибку. Меняю на jQuery и все включается.
При том что вроде бы конструкции похожи :)
Или я слишком многого захотел? )
Видимо, слишком многого хотите )