Обновил WordPress, теперь возникают ошибки на сайте.

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

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

Устарело: wp_make_content_images_responsive устарело с версии 5.5.0! Используйте wp_filter_content_tags() вместо. в /var/www/html/wp-includes/functions.php на строке 4773

и на странице страниц,

Уведомление: register_rest_route был вызван неправильно. В определении маршрута REST API для pum/v1/analytics отсутствует необходимый аргумент permission_callback. Для маршрутов REST API, предназначенных для общего доступа, используйте __return_true в качестве обратного вызова разрешения. Пожалуйста, смотрите Отладку в WordPress для получения дополнительной информации. (Это сообщение было добавлено в версии 5.5.0.) в /var/www/html/wp-includes/functions.php на строке 5225

Я также делал это на другом сайте, но ошибок не возникло, сайты построены с одной и той же темой/плагинами.

Я подозреваю, что это уже решено в плагине, но я добавил проверку для новой функции в wp-content/plugins/fusion-builder/shortcodes/fusion-image.php:285.

if ( ! empty( $image_id ) &&  function_exists( 'wp_image_add_srcset_and_sizes' ) )  {
    $content = wp_image_add_srcset_and_sizes(
        $content,
        wp_get_attachment_metadata( (int) $image_id ),
        $image_id );
} elseif ( function_exists( 'wp_make_content_images_responsive' ) ) {
        $content = wp_make_content_images_responsive( $content );
}

Если ничего не сломано, в вашем wp-config.php поставьте это:

define( 'WP_DEBUG', false );
define( 'WP_DEBUG_DISPLAY', false );

чтобы избавиться от сообщений об ошибках

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

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

Ошибка 1: Устаревшая функция wp_make_content_images_responsive

Первое сообщение об ошибке:

Deprecated: wp_make_content_images_responsive is deprecated since version 5.5.0! Use wp_filter_content_tags() instead. in /var/www/html/wp-includes/functions.php on line 4773

Это предупреждение о том, что функция wp_make_content_images_responsive устарела с версии 5.5.0 WordPress. Это значит, что в будущем эта функция может быть полностью удалена, и использование её может вызвать проблемы.

Решение:
Как вы уже заметили, вы можете внести изменения в файл плагина, чтобы использовать новую функцию wp_filter_content_tags(). Вот пример того, как это можно сделать:

if ( ! empty( $image_id ) && function_exists( 'wp_image_add_srcset_and_sizes' ) ) {
    $content = wp_image_add_srcset_and_sizes(
        $content,
        wp_get_attachment_metadata( (int) $image_id ),
        $image_id 
    );
} elseif ( function_exists( 'wp_filter_content_tags' ) ) {
    $content = wp_filter_content_tags( $content );
}

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

Ошибка 2: Неправильный вызов register_rest_route

Второе сообщение об ошибке:

Notice: register_rest_route was called incorrectly. The REST API route definition for pum/v1/analytics is missing the required permission_callback argument. For REST API routes that are intended to be public, use __return_true as the permission callback. Please see Debugging in WordPress for more information. (This message was added in version 5.5.0.) in /var/www/html/wp-includes/functions.php on line 5225

Это уведомление говорит о том, что в вашем коде отсутствует параметр permission_callback для определения маршрута REST API, что обязательно с версии 5.5.0.

Решение:
Как и в случае с первой ошибкой, если это функция плагина, вы должны либо ждать официального обновления от разработчиков плагина, либо можете временно игнорировать эту ошибку, если ничего не сломано. Если у вас есть возможность редактировать код, убедитесь, что все REST API маршруты, которые вы используете, имеют корректные разрешения.

Отключение вывода ошибок

Если вы не хотите видеть эти уведомления на сайте, вы можете отключить отображение ошибок, добавив следующую строку в ваш файл wp-config.php:

define( 'WP_DEBUG', false );
define( 'WP_DEBUG_DISPLAY', false );

Тем не менее, это решение рекомендуется только как временная мера. Рекомендуется работать над исправлением этих ошибок, чтобы ваш сайт оставался актуальным и безопасным.

Заключение

Текущие ошибки могут быть результатом использования устаревших функций или некорректного вызова функций в плагинах, которые вы используете на своем сайте. Важно периодически проверять и обновлять ваши плагины и темы, а также следить за обновлениями WordPress. Если вы не являетесь разработчиком, рекомендуется обращаться к разработчикам плагинов для получения поддержки и обновлений.

Будьте внимательны к своим сайтам, чтобы избежать проблем в будущем!

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

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