wp_enqueue_script был вызван некорректно
Не знаю как, но теперь я получаю следующую ошибку:
Notice: wp_enqueue_style был вызван некорректно. Скрипты и стили не должны быть зарегистрированы или подключены до хуков wp_enqueue_scripts, admin_enqueue_scripts или login_enqueue_scripts. Пожалуйста, смотрите раздел Отладка в WordPress для получения дополнительной информации. (Это сообщение было добавлено в версии 3.3.) в wp-includes/functions.php на строке 3049
Notice: wp_enqueue_script был вызван некорректно. Скрипты и стили не должны быть зарегистрированы или подключены до хуков wp_enqueue_scripts, admin_enqueue_scripts или login_enqueue_scripts. Пожалуйста, смотрите раздел Отладка в WordPress для получения дополнительной информации. (Это сообщение было добавлено в версии 3.3.) в wp-includes/functions.php на строке 3049
Warning: Невозможно изменить информацию заголовка - заголовки уже были отправлены (вывод начат в wp-includes/functions.php:3049) в wp-login.php на строке 415
Warning: Невозможно изменить информацию заголовка - заголовки уже были отправлены (вывод начат в wp-includes/functions.php:3049) в wp-login.php на строке 427
Это то, что я получаю при попытке войти в систему... На других сайтах у меня есть только первые две ошибки. Я пытаюсь это исправить, но не могу. Есть какие-нибудь предложения?
Отключите все плагины и переключитесь на стандартную тему. Проблема должна исчезнуть.
Затем включайте каждый аддон по одному, пока проблема не проявится снова. Теперь вы знаете источник — предположим, это плагин.
Вероятно, плагин вызывает wp_enqueue_script
слишком рано. Найдите все вхождения этой функции и убедитесь, что они привязаны к конкретным действиям:
wp_register_script()
должен вызываться для действияwp_loaded
wp_enqueue_script
на одном из действийwp_enqueue_scripts
,admin_enqueue_scripts
,customize_controls_enqueue_scripts
илиlogin_enqueue_scripts
(см. эту ветку для последнего).

Проблема в том, что я не могу войти в систему, потому что также получаю эту странную ошибку с куки. Ошибка говорит, что я заблокировал куки в браузере, но я их не блокировал... Это очень странно, потому что всё, что я делал сегодня — добавлял несколько строк в style.css, всё работало нормально, но через несколько часов появились эти ошибки.

@raiden Тогда переименуй директорию своего плагина через FTP, сделай то же самое с текущей активной темой.

На основе решения Грегори Шульца:
Оберните все ваши скрипты и стили в функцию и подключите эту функцию к целевому действию 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
— страница входа

Вместо того чтобы отключать все плагины по одному или изменять код для отладки, вы можете использовать плагин Query Monitor, чтобы определить источник ошибки.
Когда вы видите эту ошибку в консоли:
wp_register_style был вызван неправильно. Скрипты и стили не должны регистрироваться или подключаться до хуков wp_enqueue_scripts, admin_enqueue_scripts или login_enqueue_scripts. Для получения дополнительной информации смотрите раздел "Отладка в WordPress". (Это сообщение было добавлено в версии 3.3.0.)
Последняя колонка (Component
) укажет на плагин, вызывающий ошибку. Затем выполните поиск внутри этого плагина (или темы), чтобы найти и исправить проблему.

Причина, по которой это происходит, заключается в том, что эти функции вызываются напрямую из файла functions.php, без использования функции. Найдите строки в functions.php, которые не находятся внутри функции, как показано ниже, и добавьте их.
Пример для datepicker:
- Вместо этого в functions.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');
- Добавляем это
// Определяем функцию:
function MYTHEME_scripts() {
wp_enqueue_script('jquery-ui-datepicker');
}
// Добавляем функцию в список загрузки WP.
add_action( 'wp_enqueue_scripts', 'MYTHEME_scripts' );
function 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.
add_action( 'wp_enqueue_scripts', 'MYTHEME_styles' );

Это означает, что существует 3 "точки входа" для wp_enqueue_script()
: wp_enqueue_scripts для фронтенда, login_enqueue_scripts для экрана входа и admin_enqueue_scripts для админ-панели. Проверьте эту ссылку.
Вы получаете эту ошибку, потому что wp_enqueue_script()
был вызван неправильно.

Я понимаю, что там написано, но не знаю, как (реализовать?) это "Исправление: используйте wp_enqueue_scripts вместо этого."

это означает, что вам просто нужно использовать wp_enqueue_scripts
вместо wp_print_styles
, но я сомневаюсь, что это относится к вашему случаю. Это просто пример решения проблемы. В вашем случае есть некоторые функции в плагинах или теме, которые неправильно используют wp_enqueue_script()
, поэтому вы получаете эту ошибку... как я предполагаю.

У меня появлялось уведомление 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.
Я обернул все свои скрипты и стили в функцию, и уведомление исчезло.

Оберните это в хук с названием wp_enqueue_scripts.
Пример:
add_action( 'wp_enqueue_scripts', function() {
wp_enqueue_style('style', get_stylesheet_uri(), false, false, 'all');
wp_enqueue_script( 'custom-script', get_stylesheet_directory_uri() . '/script.js', true );
});
