Фатальная ошибка: Необработанная ошибка: Класс ‘WP_Widget’ не найден

Вопрос или проблема

У кого-нибудь есть решение этой проблемы?

Я не могу получить доступ к странице администратора или большей части других страниц, кроме главной.

Системная ошибка: Необработанная ошибка: Класс 'WP_Widget' не найден в /home1/thehub/public_html/theseen.org/wp-includes/widgets/class-wp-widget-links.php:17 Стек вызовов: #0 /home1/thehub/public_html/theseen.org/wp-includes/default-widgets.php(14): require_once() #1 /home1/thehub/public_html/theseen.org/wp-includes/functions.php(3782): require_once('/home1/thehub/p...') #2 /home1/thehub/public_html/theseen.org/wp-includes/class-wp-hook.php(286): wp_maybe_load_widgets('') #3 /home1/thehub/public_html/theseen.org/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array) #4 /home1/thehub/public_html/theseen.org/wp-includes/plugin.php(453): WP_Hook->do_action(Array) #5 /home1/thehub/public_html/theseen.org/wp-settings.php(350): do_action('plugins_loaded') #6 /home1/thehub/public_html/theseen.org/wp-config.php(86): require_once('/home1/thehub/p...') #7 /home1/thehub/public_html/theseen.org/wp-load.php(37): require_once('/home1/thehub/p...') #8 /home1/thehub/public_html/theseen.org/wp-admin/admin.php(31): require_once('/home1/ в /home1/thehub/public_html/theseen.org/wp-includes/widgets/class-wp-widget-links.php строка 17

Есть большая вероятность, что ошибка Класс "WP_Widget" не найден вызвана сканированием ботами, courtesy of script kiddies.

Как предложено в ответе на вопрос на WordPress, скрипт сканирования завершит работу, когда следующий код будет вставлен в верхнюю часть blocks/index.php:

<?php
if (!defined('ABSPATH') || !defined('WPINC')) {
    exit;
}

Ответ или решение

Ошибка "Fatal error: Uncaught Error: Class ‘WP_Widget’ not found" является одним из распространенных фатальных ошибок, которые могут возникать в среде WordPress. Эта проблема может привести к недоступности административной панели, а также к затруднениям в навигации по другим страницам сайта, оставляя только главную страницу доступной для пользователей. Давайте рассмотрим причины возникновения этой ошибки и возможные способы ее устранения.

1. Причины возникновения ошибки

Ошибки, связанные с классом WP_Widget, в основном происходят из-за:

  • Поврежденных файлов ядра WordPress: Неисправности могут происходить из-за неполной установки, повреждений из-за обновления или проблем с файловой системой.
  • Конфликтов с плагинами или темами: Некоторые плагины или темы могут вызывать конфликты с ядром WordPress, что может привести к необработанным ошибкам.
  • PHP-ошибок: Некоторые скрипты могут неправильно обработать вызов класса, что может вызвать эту ошибку.
  • Неуместных приглашений к выполнению кода: Как отмечено в вашем вопросе, боты могут совершать сканирование, что может привести к неожиданным вызовам функций.

2. Диагностика ошибки

Чтобы подтвердить источник проблемы, выполните следующие шаги:

  • Проверка файлов: Проверьте целостность файлов ядра WordPress. Можно загрузить последнюю версию WordPress и заменить только директории wp-admin и wp-includes.
  • Отключение плагинов и тем:
    • Переименуйте папку с плагинами через FTP или файловый менеджер, чтобы деактивировать их все сразу. Если сайту это поможет — возвращайтесь к исходному состоянию, включая плагины по одному для диагностики.
    • Поменяйте текущую тему на стандартную (например, Twenty Twenty-One) для исключения конфликта с вашей темой.

3. Исправление кода

Если ошибка связана с конфликтом, попробуйте следовать рекомендациям, упомянутым вами в вопросе. Добавление следующего кода в начале файла blocks/index.php может помочь избежать выполнения кода, вызывающего ошибку:

<?php
if (!defined('ABSPATH') || !defined('WPINC')) {
    exit;
}

Это условие проверяет, был ли данный файл вызван из среды WordPress, тем самым защищая его от нежелательных вызовов.

4. Обновление WordPress и PHP

Убедитесь, что ваш WordPress и PHP обновлены до последних стабильных версий. Иногда новые версии содержат исправления, которые могут решить проблемы с совместимостью.

5. Обратиться к хостингу

Если вышеуказанные шаги не помогают, возможно, проблема связана с конфигурацией сервера. Свяжитесь с вашим хостинг-провайдером для диагностики и решения проблемы.

Заключение

Ошибка "Class ‘WP_Widget’ not found" может быть показателем более серьезных проблем в вашей установке WordPress. Однако, следуя описанным шагам, можно эффективно диагностировать и устранить причину возникновения этой ошибки. Не забывайте делать резервные копии ваших файлов и базы данных перед внесением изменений, чтобы избежать потери данных.

Оцените материал
Добавить комментарий

Капча загружается...