Открыв главную страницу своего блога, я заметил, что какой-то элемент страницы не может загрузиться:
Оказалось, что это грузится дефолтовая аватарка, которая показывается в админской панели:
Причем довольно настойчиво:
Чтобы отключить gravatar с внешнего ресурса и подгружать локальную аватарку, я загрузил аватарку gravatar_default.png на свой хостинг в папку /wp-content/uploads/gravatar и добавил несколько строк в файл /wp-includes/functions.php
/**
*custom avatar image url
**/
function my_get_avatar($avatar, $id_or_email, $size, $default, $alt){
$imgpath = home_url()."/wp-content/uploads/gravatar/gravatar_default.png";
$avatar = "<img src='".$imgpath."' alt='".$alt."' height='".$size."' width='".$size."' />";
return $avatar;
}
add_filter( 'get_avatar', 'my_get_avatar', 26, 26);
Но после этого мой блог перестал грузиться и стал выдавать белый экран.
Чтобы выяснить причину подобного поведения, я включил отображение отладочной информации WordPress. Для этого в файле wp-config.php нужно было сменить
define('WP_DEBUG', false);
на
define('WP_DEBUG', true);
Теперь стали видны ошибки WordPress:
Fatal error: Call to undefined function add_filter() in…
Уже лучше.
Чтобы побороть эту ошибку, достаточно было поменять местами две строчки в файле wp-settings.php.
require( ABSPATH . WPINC . '/plugin.php' );
и
require( ABSPATH . WPINC . '/functions.php' );
Теперь фрагмент этого файла выглядит так:
// Load early WordPress files.
require( ABSPATH . WPINC . '/compat.php' );
require( ABSPATH . WPINC . '/plugin.php' );
require( ABSPATH . WPINC . '/class-wp.php' );
require( ABSPATH . WPINC . '/class-wp-error.php' );
require( ABSPATH . WPINC . '/functions.php' );
require( ABSPATH . WPINC . '/pomo/mo.php' );
Вот теперь точно все.
Часть информации почерпнул из блога наших китайских друзей :)
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024
- VSCode: Найти и удалить элементы xml - 29.10.2024