Перед тем, как я плачу за публикацию этого вопроса, когда много похожих вопросов уже было опубликовано, я хочу сказать, что я просмотрел много, много вопросов / ответов по Stackoverflow, связанных с этой проблемой, но ни один из них на самом деле не решил мою проблему.
Итак, я рискну и выложу еще один.
Я работаю в WordPress, используя тему, основанную на Bootstrap. Включает модальное окно Bootstrap. Я пытаюсь вызвать модальное окно «при загрузке страницы» (вместо того, чтобы пользователь нажимал на кнопку). Я также хочу установить cookie, чтобы модальное окно появлялось только один раз.
jQuery автоматически загружается темой WP, и я проверил (используя View Page Source) и подтвердил, что jQuery загружен в заголовкеpage.
В functions.php я поставил в очередь скрипты, которые загружают jQuery Cookie, а также вызывает модальное окно при загрузке страницы:
function modal_scripts() {
wp_enqueue_script( 'jq-cookie-js', 'https://cdnjs.cloudflare.com/ajax/libs/jquery-
cookie/1.4.1/jquery.cookie.min.js', array(), false, true );
wp_enqueue_script( 'modal-custom-js', get_stylesheet_directory_uri() . '/js/custom-modal.js',
array(), false, true );
}
add_action( 'wp_enqueue_scripts', 'modal_scripts' );
custom-modal.js содержит скрипткоторый запускает модальный режим и устанавливает cookie:
jQuery(function($) {
$(window).load(function() {
if(jquery.cookie('alreadyShown') === null) {
setTimeout(function() {
$('.the-modal').modal('show');
}, 10000);
jquery.cookie('alreadyShown', true, {expires: 7});
}
});
});
Я дважды проверил, и все файлы, кажется, загружаются нормально - jQuery в голове и jQuery Cookie и custom-modal.js'в нижнем колонтитуле.
Однако, я все еще получаю эту ошибку:
custom-modal.js?ver=5.2.4:3 Uncaught ReferenceError: jquery is not defined
at custom-modal.js?ver=5.2.4:3
at dispatch (jquery.js?ver=1.12.4-wp:3)
at r.handle (jquery.js?ver=1.12.4-wp:3)
Надеясь, что кто-то может указать, что я делаю неправильно. Большое спасибо.