Intereting Posts
Изменение тем … и нужно перенести содержимое пользовательского поля в другое поле Как сохранить продукт woocommerce? Сделать ссылку профиля, ссылку на профиль BuddyPress вместо панели инструментов WordPress? Add_meta_box не отображается, но отображается в параметрах экрана Показать только топ-3 сообщений из 3-х категорий в порядке на главной странице WordPress и Git – Какие папки я должен отслеживать? Проблема с несколькими циклами – вытащить один признак, а затем продолжить цикл Пользовательская страница 404 для панели инструментов Отобразить текущий таксономический термин, когда внутри пользовательского типа сообщения BuddyPress: условно фильтровать каталог на основе поля Xprofile Добавить специальные черновики сообщений в RSS-канал Добавить проблемы с фильтром Что делает возможным модульные тестовые плагины? Предыдущая страница или URL-адрес reffer в worpress Как создать альтернативную домашнюю страницу?

отладка js-скриптов

У меня возникли проблемы с enqueuing javascript. Когда я использую тег скрипта в разделе главы моего сайта, все работает отлично. Если я беру скрипты и использую enqueue, сайт ломается, но я не получаю никаких ошибок в firebug. Просмотрев исходный код, вся страница выглядит так, как будто она есть, но, очевидно, некоторые из js-скриптов не работают, и это приводит к сбою моего сайта. Есть ли способ узнать, почему он рушится? В консоли ничего нет.

Я бы связался с сайтом, но я продолжу работу, и, поскольку все изменится, ссылка будет не очень хорошей. Я ищу советы по отладке js-ошибок. Где я могу посмотреть?

мой метод установки сценария

wp_register_script('isotope', get_template_directory_uri() . '/js/jquery.isotope.min.js',array('jquery'),'',true); wp_enqueue_script('isotope'); function bliss_jsscripts(){ if( !is_admin()){ wp_register_script('supersized', get_template_directory_uri() . '/js/supersized.3.2.6.js',array('jquery'), false, true); wp_enqueue_script('supersized','','',false,''); } } add_action('wp_enqueue_scripts', 'bliss_jsscripts', 999); 

Что вы можете сделать, так это проверить статус скриптов, которые вы пытаетесь установить в очередь после этого.

Кроме того, не забудьте вставить вещи внутри действия.

например

 function do_my_enqueue_scripts() { wp_register_script('isotope', get_template_directory_uri() . '/js/jquery.isotope.min.js',array('jquery'),'',true); wp_enqueue_script('isotope'); } add_action('wp_enqueue_scripts', 'do_my_enqueue_scripts'); 

Вы можете использовать функцию wp_script_is, чтобы проверить, действительно ли они находятся в очереди .

например, после

 wp_enqueue_script('isotope'); if ( ! wp_script_is('isotope', 'enqueued') ) { echo '<p>Script failed to queue up!</p>'; } 

Вероятно, ваша проблема связана с неправильным использованием функций WordPress – вероятно, нет необходимости отлаживать любой Javascript для решения проблемы. Внимательно просмотрите запись Codex для wp_enqueue_script() .

Я предполагаю, что это то, что вы пытаетесь выполнить. В файле functions.php вашей темы:

 function wpse178370_enqueue_scripts() { wp_enqueue_script( 'isotope', get_template_directory_uri() . '/js/jquery.isotope.min.js', array('jquery') ); wp_enqueue_script( 'supersized', get_template_directory_uri() . '/js/supersized.3.2.6.js', array('jquery'), '3.2.6' ); } add_action( 'wp_enqueue_scripts', 'wpse178370_enqueue_scripts' ); 

Если вы не создаете скрипт в разных точках вашего кода или не меняете регистрацию скриптов на лету, не существует слишком большой причины использовать wp_register_script() . Аналогично, если вам явно не нужен сценарий для печати в нижнем колонтитуле сайта (в wp_footer() ) вместо тегов <head></head> , вы не должны устанавливать аргумент $in_footer для wp_enqueue_script() / wp_register_script() в значение true .

Если вы зарегистрируете скрипт с помощью wp_register_script() и укажите все эти необязательные аргументы, вызовите wp_enqueue_script() с тем же тегом скрипта и снова укажите все эти необязательные аргументы, вы переопределите аргументы, указанные вами в wp_register_script() .

Кроме того, условная проверка is_admin() является обязательной, поскольку скрипты панели мониторинга печатаются в 'admin_enqueue_scripts' , а не 'wp_enqueue_scripts' .