Intereting Posts
Получить роль пользователя с помощью user_id в buddypress Создание аккордеев в WordPress Theme Настройка отключения WordPress от субдомена Неверные размеры изображения в Insert Media после add_image_size () переписывание для перезаписи пользовательской таксономии При удалении темы настройки пользовательских настроек темы также удаляются из базы данных? Пользовательский тип запроса типа запроса на запрос мультимедиа Как изменить поле в базе данных через кнопку отправки или флажок? разбиение на страницы разбито – нажатие следующих дисплеев "страница не найдена" Как добавить JS в нижний колонтитул Свернуть подкатегории в окне редактирования сообщений Экспортировать персонализированные сообщения типа Post со всеми настраиваемыми полями и пользовательской Texonomy, связанной с ним Ограниченный лимит памяти WordPress Является ли get_permalink также каноническим URL? Исключить все липкие сообщения на первой странице двадцать двенадцать

Как связать внешние файлы jQuery / Javascript с WordPress

Поэтому я использую Starkers для создания моей следующей темы WP, и я столкнулся с небольшой проблемой, я включил мою собственную версию jQuery в файл header.php но при проверке моего сайта с использованием Firebug я заметил, что jquery загружался дважды я немного поработал и заметил, что я не только wp_head() файл, но и wp_head() .

При попытке устранить проблему я заметил комментарий в файле заголовка, из которого возникла тема Twenty Ten:

 /* Always have wp_head() just before the closing </head> * tag of your theme, or you will break many plugins, which * generally use this hook to add elements to <head>, such * as styles, scripts, and meta tags */ 

Итак, вот моя проблема: у меня создается впечатление, что файл jQuery должен быть установлен перед любым другим файлом, который хочет его использовать, и что wp_head() должно быть последним в элементе <head> , я немного запутался сейчас поскольку мне интересно, должен ли я поместить wp_head() наверху, чтобы WP включал файл jQuery, будет использоваться для всех моих плагинов, хотя он говорит, что этого не делать.

Я прокомментировал строку jQuery в функции wp_head() но она нужна для страницы администратора, поэтому мне пришлось вернуть ее обратно.

Я также хотел бы использовать (хотя бы эксперимент) с использованием версии jQuery для Google CDN, но не хочу включать ее дважды!

Надеюсь, вы понимаете, что я пытаюсь объяснить, любые предложения о том, как я могу решить эту проблему, будут наиболее ценными. Я также благодарен за любые советы о том, как вы обрабатываете файлы JavaScript с файлом заголовка.

Благодаря!

Из формулировки вашего вопроса вы должны добавлять скрипты, записывая теги <script> в свой шаблон. Добавьте свои собственные скрипты через wp_enqueue_script() в functions.php вашего шаблона, соответствующим образом задав зависимости от jQuery, а wp_head() добавит вам скрипты.

 function my_scripts() { wp_enqueue_script( 'my-sweet-script', get_bloginfo('template_directory') . '/script.js', array('jquery') ); } add_action('template_redirect', 'my_scripts'); 

Дополнительную информацию см. На странице codex .

Я предлагаю взглянуть на 5 советов по использованию jQuery с WordPress . Помимо всего прочего, он показывает код, необходимый для загрузки jQuery из библиотеки Google:

 function my_init() { if (!is_admin()) { // comment out the next two lines to load the local copy of jQuery wp_deregister_script('jquery'); wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js', false, '1.3.2'); wp_enqueue_script('jquery'); } } add_action('init', 'my_init'); 

Вы также можете ознакомиться с плагином « Использовать Google Libraries» .

Хотя @tnorthcutt является правильным, что вы должны должным образом удалить свой собственный jQuery WP, если вы хотите загрузить свой собственный, вы наверняка столкнетесь с проблемами при загрузке другой версии jQuery, в которой используется ядро ​​WP. Оба ядра и плагины полагаются на то, что они там. Поэтому, если вы не обновляете свою тему с помощью новейшего jquery каждый раз, когда WP обновляется, ваш сайт может сломаться.

Следующий код гарантирует, что ваша тема всегда загружает правильную версию jquery, сначала просматривая, какую версию WP использует, а затем загружает ее из Google:

 $wp_jquery_version = $GLOBALS['wp_scripts']->registered['jquery-core']->ver; $jquery_version = ( $wp_jquery_version == '' ) ? '1.8.3' : $wp_jquery_version; // fallback, just in case wp_deregister_script('jquery'); wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/'. $jquery_version .'/jquery.min.js', $jquery_version, false ); wp_enqueue_script('jquery');