2014-09-08 3 views
0

У меня есть этот код ...JQuery не загружается в WordPress

<?php 
    function add_jquery() { 
     wp_enqueue_script('jquery'); 
    }  
    add_action('init', 'add_jquery'); 
?> 

<script type="text/javascript"> 
    if (typeof jQuery == 'undefined') { 
     alert('jQuery IS NOT loaded') 
    } else { 
     alert('jQuery IS loaded') 
    } 
</script> 

<!-- Let's try loading jQuery the WRONG WAY when doing it in WordPress --> 
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js" charset="utf-8"></script> 

<script type="text/javascript"> 
    if (typeof jQuery == 'undefined') { 
     alert('jQuery IS NOT loaded') 
    } else { 
     alert('jQuery IS loaded') 
    } 
</script> 

Первое предупреждение говорит «Jquery не загружен», а второй говорит «Jquery загружается». Почему jQuery не загружается при использовании первого метода?

+0

где вы работаете? Вы проверили, где WP вставляет тег сценария jquery в DOM по отношению к тому, где выполняется этот тест? –

+0

Вышеприведенный код находится в верхней части моего плагина. Я пытаюсь автору –

+0

правильно, но где он вставлен в DOM? Если ваш код находится выше сгенерированного тега jQuery, он будет делать то, что вы описали, так как вашему коду не нужно ждать, пока он будет готов или что-нибудь еще. Он выполняется, поскольку он читается. –

ответ

0

где ваша функция add_jquery? Он не будет работать в шаблоне Wordpress. он должен идти в functions.php или где-нибудь, где он будет работать до цикла.

+0

У меня это в файле плагина –

+0

- это все код в том же файле плагина, что и в вопросе? код «правильного пути» сообщает wordpress о запуске jquery, когда запускается крючок инициации. если код в вашем вопросе находится в том же файле, это не сработает, потому что вы печатаете javascript в браузере перед запуском hook. – blots

0

его потому, что эта строка загружает JQuery

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js" charset="utf-8"></script> 

После этой строки JQuery доступен.

что примечания говорят, что это неправильный способ загрузки jQuery в wordpress. Типичным «правильным» способом является добавление вызова в ваш заголовок.

+0

или поставить его в нижнем колонтитуле, как предлагают современные веб-стандарты. В настоящее время мы пытаемся загрузить все js в нижний колонтитул. –

0

Если вы помещаете что-то в wordpress - особенно jQuery, вы должны все в очереди. В противном случае ваши библиотеки не будут иметь доступ к jQuery.

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