Когда я иду редактировать свою страницу, я не могу открыть параметры экрана или переключиться между визуальным и текстовым режимами в редакторе.
Я пытался добавить
define('CONCATENATE_SCRIPTS', false);
define('SCRIPT_DEBUG', true);
wp config но это не помогло
Мой скрипт загрузки jQuery это
function loadJquery()
{
if ( $hook != 'post-new.php' || $hook != 'post.php' ) {
wp_register_script('siteJs',get_template_directory_uri() .
'/js/site.js',array('jquery'),'1.4.1');
wp_enqueue_script('siteJs'); // Enqueue it!
}
}
Я получаю эту ошибку:
Uncaught TypeError: Cannot read property 'addEventListener' of null
Относясь к этому:
(function() {
var burger = document.querySelector('.navbar-burger');
var menu = document.querySelector('.navbar-menu');
burger.addEventListener('click', function() {
burger.classList.toggle('is-active');
menu.classList.toggle('is-active');
});
})();
И поскольку страница находится там, это также вызывает эту ошибку:
Uncaught TypeError: Cannot read property 'hasClass' of undefined
at HTMLDocument.<anonymous> (wp-auth-check.js:101)
Ошибка Uncaught TypeError: Cannot read property 'addEventListener' of null
указывает на то, что burger
не определено Хотя, возможно, стоит проверить, должен ли site.js работать на WP Admin (где .navbar-burger
даже не существует), прямое решение состоит в том, чтобы проверить, burger
находится до добавления прослушивателя событий.
Это будет выглядеть так:
(function() {
var burger = document.querySelector('.navbar-burger');
var menu = document.querySelector('.navbar-menu');
if (burger != null && menu != null){
burger.addEventListener('click', function() {
burger.classList.toggle('is-active');
menu.classList.toggle('is-active');
});
}
})();
Я использовал
wp_print_scripts
загрузить Jquery
когда, как сказал dafoxuk, я должен использовать
wp_enqueue_scripts()
Будьте здоровы 🙂