2015-04-21 5 views
2

Я не знаю, почему, но когда я показываю исходный код для моей страницы Wordpress, перед каждым скриптом есть <script src="ROOT/jquery">.wordpress загружает jquery слишком много раз

Загрузка его один раз между отметками <head>. Это приводит к тому, что другой скрипт работает не так, как ожидалось. Я читал о функции под названием wp_enqueue, но я не понимаю, как она работает.

здесь скрипт не работает:

<script> 
    $(document).ready(function(){ 
//Datepicker Popups calender to Choose date 
$(function(){ 
    $("#datepicker").datepicker({ 
      changeMonth: true, 
      changeYear: true, 
      showButtonPanel: true, 
      yearRange: '1900:2050', 
      dateFormat: "dd/mm/yy" 


    //Pass the user selected date format 
    }); 
    }); 
}); 
</script> 

Может кто-нибудь мне помочь?

Спасибо,
Даниэла

+0

Какие плагины вы установили? –

+0

Контакт Форма 7 \t \t \t \t \t \t Контактный формуляр 7 Модули: Скрытые поля \t \t \t \t Контактный формуляр 7 Модули: Отправить Все поля \t \t \t \t Google Универсальные Analytics \t \t \t \t LayerSlider WP \t \t \t \t MailChimp для WordPress Lite \t \t \t \t \t \t Really Simple CAPTCHA, \t \t \t \t WordPress SEO \t \t \t \t \t \t WPBakery Визуальный Composer (Модифицированная версия) –

+0

Эта проблема, скорее всего,вызванный одним из менее популярных плагинов, которые вы установили. Когда авторы плагина пытаются загрузить jQuery некорректно, он может добавлять избыточные скрипты. Это пункт ['wp_enqueue_script'] (https://codex.wordpress.org/Function_Reference/wp_enqueue_script). Попробуйте отключить каждый плагин один за другим, пока проблема не будет решена, чтобы узнать, кто несет ответственность. –

ответ

1

ОБНОВЛЕНО: Смотрите jQuery noConflict Wrappers в WordPress.

<script> 
jQuery(document).ready(function($) { 
    $("#datepicker").datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     showButtonPanel: true, 
     yearRange: '1900:2050', 
     dateFormat: "dd/mm/yy" 
    }); 
}); 
</script> 

Я испытал это на WordPress установить локально и не было больше ошибок

UPDATE # 2: Теперь это ошибка CSS.

Per this workaround, установив Z-индекс для каждого из ваших Datepicker элементов должны сделать трюк:

<input id="datepicker" style="position:relative;z-index:200;width:250px;" readonly="readonly" type="text" maxlength="20" name="Date of Birth" placeholder="dd/MM/yyyy" class="hasDatepicker"> 
+0

На самом деле он по-прежнему не работает ... здесь ссылка на страницу, может быть, я делаю некоторые ошибки .. http://www.getyourvisa.com.au/pippo/ –

+0

Вам нужно ввести в действие пользовательский интерфейс jQuery в Wordpress. Я обновлю свой ответ –

+0

Err wait, nevermind. Одна секунда –

0

wp_enqueue позволяет добавить дополнительные скрипты и CSS для вашего сайта из функций или любой другой страницы действий, как плагин. Вы должны включить jquery уже. Wordpress по умолчанию включает jquery, поэтому вам не нужно включать его в себя. проверьте, включили ли вы его в свою тему и удалите его.

вы не можете использовать $() с WordPress JQuery вам нужно использовать jQuery() или:

(function($) { 
    $() // using $() here should now work. 
})(jQuery); 
+0

извините, я ничего не знаю о javascript ... Мне просто нужно добавить datapicker в форму, сгенерированную javascriptfrom CRM ZOHO. К сожалению, есть несколько других сценариев, и datapicker там не работает, но отлично работает в локальном режиме. Вот код, который я использую:

+0

Проверьте наличие ошибок в консоли браузера и разместите их здесь –

+0

ошибок больше нет в консоли после того, как я использовал код, предоставленный @drew Hammond. Но в dreamweaver у меня есть эта ошибка, если я помещаю весь код: Некоторые виджеты JQuery определены без соответствующих тегов HTML. –

Смежные вопросы