wp_enqueue_script був викликаний неправильно


20

Я не знаю як, але тепер я отримую цю помилку:

Зверніть увагу: wp_enqueue_style був викликаний неправильно. Сценарії та стилі не повинні реєструватися або запускатися доти, поки не будуть гачки wp_enqueue_scripts, admin_enqueue_scripts або login_enqueue_scripts. Для отримання додаткової інформації див. Налагодження в WordPress. (Це повідомлення було додано у версії 3.3.) У wp-include / функции.php у рядку 3049

Зауважте: wp_enqueue_script був викликаний неправильно. Сценарії та стилі не повинні реєструватися або запускатися доти, поки не будуть гачки wp_enqueue_scripts, admin_enqueue_scripts або login_enqueue_scripts. Для отримання додаткової інформації див. Налагодження в WordPress. (Це повідомлення було додано у версії 3.3.) У wp-include / функции.php у рядку 3049

Попередження: Неможливо змінити інформацію заголовка - заголовки, які вже надіслані (вихід запущений у wp-include / функции.php: 3049) у wp-login.php у рядку 415

Попередження: Неможливо змінити інформацію заголовка - заголовки, які вже надіслані (вихід запущений у wp-include / function.php: 3049) у wp-login.php у рядку 427

Це я отримую, коли намагаюся увійти ... На інших сайтах у мене лише дві перші помилки. Я намагаюся це виправити, але не можу. Будь-які пропозиції?


1
Це Noticeздається досить пояснювальним. Що ви спробували, а що не вийшло?
s_ha_dum

@s_ha_dum Я перепробував багато речей, які я знайшов у Google ... просто зараз рішення Toscho працювали на мене, і я можу увійти на свою панель адміністратора, але те, що я бачу, це те, що щось не вдається зі стилем завантаження, тому що шрифт не такий, як це було. Я продовжую отримувати ці помилки:
raiden

Відповіді:


15

Вимкніть усі плагіни та перейдіть до теми за замовчуванням. Це має піти зараз.

Потім включайте кожен додаток покроково, поки проблема не повернеться. Ви знаєте джерело зараз, скажімо плагін.

Можливо, плагін дзвонить wp_enqueue_scriptзанадто рано. Знайдіть усі події цієї функції та переконайтесь, що вони пов'язані з певними діями:

  • wp_register_script() слід закликати до дії wp_loaded
  • wp_enqueue_script про одну з дій
    • wp_enqueue_scripts,
    • admin_enqueue_scripts,
    • customize_controls_enqueue_scripts або
    • login_enqueue_scripts(див. цю тему для останнього).

Проблема полягає в тому, що я не можу увійти в систему, оскільки я також отримую цю дивну помилку з файлами cookie. Помилка говорить про те, що я заблокував файли cookie у своєму браузері, але я не заблокував їх ... Це так дивно, тому що все, що я зробив сьогодні, було додавати кілька рядків до style.css, все було добре, але через кілька годин після того, як у мене виникли ці помилки.
raiden

@raiden Потім перейменуйте каталог плагінів на FTP, зробіть те ж саме для поточно активної теми.
фуксія

Тепер я можу увійти на свою панель ... дякую! але тепер я отримую ще одну помилку Попередження: Неможливо змінити інформацію заголовка - заголовки, які вже надіслані (вихід розпочато з wp-include / функции.php: 3049) в wp-include / pluggable.php на лінії 896
raiden

4

На основі рішення Григорія Шульца :

Згорніть всі свої сценарії та стилі у функції та підключіть цю функцію до цільової enqueueдії. 👇

function my_admin_scripts() {
  wp_enqueue_style( 'admin-css', get_stylesheet_directory_uri() . '/admin/css/admin.css' );
  wp_enqueue_script( 'admin-js', get_stylesheet_directory_uri() . '/admin/js/admin.js', true );
}
add_action( 'admin_enqueue_scripts', 'my_admin_scripts' );

wp_enqueue_scripts - передня частина

admin_enqueue_scripts - сторінка адміністратора

login_enqueue_scripts - сторінка входу


2

Причина, чому це відбувається, полягає в тому, що ці функції викликаються прямо з файла function.php, не використовуючи функції. Дізнайтеся, які рядки у function.php не знаходяться у такій функції, і додайте їх.

Приклад для вибору дати:

-Умістіть це у function.php:

wp_enqueue_script('jquery-ui-datepicker');
wp_enqueue_style('jquery-ui-css', '//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css');
wp_enqueue_style('jquery-ui-css', '//ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');

-Ми додамо це

    // Визначаємо функцію:
    функція MYTHEME_scripts () {
    wp_enqueue_script ('jquery-ui-datepicker');
    }

    // Додайте функції до списку завантаження WP.
    добавлення ('wp_enqueue_scripts', 'MYTHEME_scripts');

    функція MYTHEME_styles () {
    wp_enqueue_style ('jquery-ui-css', '//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css');
    wp_enqueue_style ('jquery-ui-css', '//ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
    }

    // Додайте функції до списку завантаження WP.
    добавлення ('wp_enqueue_style', 'MYTHEME_styles');

Сподіваюся, це спрацює


1

Це означає, що є 3 "кінцеві точки", для wp_enqueue_script()яких wp_enqueue_scripts для переднього вікна, login_enqueue_scripts для екрана входу, admin_enqueue_scripts для панелі адміністратора. Перевірте це посилання .

Ви отримуєте цю помилку, оскільки wp_enqueue_script()її називали ненадійно.


Я розумію, що там є, але я не знаю, як (реалізувати?) Це "Виправлення: Замість цього використовуйте wp_enqueue_scripts."
raiden

це означає, що ви просто повинні використовувати wp_enqueue_scriptsзамість цього, wp_print_stylesале я сумніваюся, що це стосується вашого випадку. Це лише приклад усунення несправностей. У вашому випадку є деякі функції в плагінах або темі, які неправильно використовують, wp_enqueue_script()щоб ви отримали цю помилку ... моя здогадка.
JMau

Я отримував, Notice: wp_register_style was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks.я загортав усі свої сценарії та стилі у функцію, і повідомлення пройшло.
Григорій Шульц

Окрім цього, я не отримую жодних помилок
Григорій Шульц,

1

Замість того, щоб відключати всі ваші плагіни один за одним або змінювати базу коду для налагодження, ви можете використовувати плагін Монітор запитів, щоб звузити джерело цієї помилки.

Коли ви побачите про цю помилку в консолі:

wp_register_style був викликаний неправильно. Сценарії та стилі не повинні реєструватися або запускатися доти, поки не будуть гачки wp_enqueue_scripts, admin_enqueue_scripts або login_enqueue_scripts. Для отримання додаткової інформації див. Налагодження в WordPress. (Це повідомлення було додано у версії 3.3.0.)

Останній стовпець ( Component) повідомить вам плагін, який викликає помилку. Звідти виконайте пошук всередині цього плагіна (або теми), щоб знайти та виправити проблему.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.