Я знаю, что на этот вопрос уже получен ответ, но хотел бы добавить к нему.
Если это файл, скорее всего, проблема заключается в том, чтобы включить jQuery в качестве зависимости для вашего скрипта.wp_enqueue_script('script_name', get_template_directory_uri() . '/path_and_script_name.js', array('jquery'));
Если у вас есть объект jQuery, но нет $, вы можете попробовать это:
<script id="script-below-jquery-src">
(function($) {
// Anything here can only immediately reference the DOM above it
$(function(){
//on DOM (document) ready
});
})(jQuery);
</script>
Этот скрипт относится к тегу скрипта jQuery.
Если он все ещежалуется, что jQuery не определен, проверьте <head>
на наличие скрипта jQuery, если его там нет, вы не регистрируете / ставите его в очередь должным образом.В моем случае я добавил фильтр, который удалял все теги.Для отладки вы могли бы использовать ...
add_filter('script_loader_tag', function($tag, $handle){
/*maybe echo/print here*/
return $tag . "<!-- Script for handle '$handle' -->";
}, 10, 2);
Но, честно говоря, это не будет намного полезнее, чем просто просмотр вашего заголовка.
Убедитесь, что вы используетеadd_action('wp_enqueue_scripts', /*function name*/);
.Многие другие перехваты опаздывают.
Не вставляйте источник jQuery выше <?php wp_head(); ?>
в заголовок.Он менее удобен в обслуживании, особенно в jQuery, и, вероятно, скрипт будет включен дважды, если того требует плагин и т. Д.