По умолчанию WordPress использует сервис Gravatar для отображения аватаров пользователей. Размер аватара обычно фиксирован и задается в функции get_avatar(). Однако часто возникает необходимость изменить размер аватара без установки дополнительных плагинов, чтобы улучшить дизайн сайта или адаптировать вывод под свои нужды.
Что такое аватар пользователя и как WordPress его выводит
Аватар — это небольшое изображение, ассоциированное с пользователем, которое часто отображается рядом с его именем в комментариях, профиле, сообщениях и других местах. WordPress по умолчанию использует Gravatar — глобальный сервис, который связывает email пользователя с аватаром.
Вывод аватара обычно идет через функцию get_avatar(), которая принимает ID пользователя или email, а также параметры для размера и дополнительных атрибутов.
Например, базовый вызов функции выглядит так:
echo get_avatar( $user_id, 32 ); // 32 — размер аватара в пикселях
Если не передавать размер, WordPress подставит значение по умолчанию — 96 пикселей.
Как изменить размер аватара без плагинов — через код темы
Чтобы изменить размер аватара на сайте без плагинов, достаточно переопределить вывод аватара с помощью фильтра get_avatar или изменить параметр в вызове функции.
Рассмотрим несколько способов.
1. Изменение размера через вызов get_avatar() в шаблоне
Если вы контролируете вывод комментариев или профиля, просто укажите нужный размер вторым параметром:
echo get_avatar( $user_id, 64 ); // аватар 64x64 пикселя
Это самый простой способ, но требует изменения в каждом месте, где вызывается аватар.
2. Использование фильтра get_avatar для глобального изменения размера
Чтобы изменить размер аватара во всех местах, где вызывается get_avatar(), можно подключить фильтр в файле functions.php вашей темы:
function wpteam_change_avatar_size( $avatar, $id_or_email, $size, $default, $alt ) {
// Задаем новый размер аватара
$new_size = 64; // например, 64 пикселя
// Перегенерируем аватар с новым размером
$avatar = get_avatar( $id_or_email, $new_size, $default, $alt );
return $avatar;
}
add_filter( 'get_avatar', 'wpteam_change_avatar_size', 10, 5 );
Этот код перехватывает стандартный аватар и выводит его с новым размером. Обратите внимание, что фильтр должен возвращать корректный HTML.
3. Изменение CSS стилей для аватара
Иногда аватар загружается в одном размере, но отображается меньше или больше с помощью CSS. Можно принудительно задать размер через стили:
.avatar {
width: 64px !important;
height: 64px !important;
border-radius: 50%;
}
Этот способ не меняет фактический размер изображения, но визуально подстраивает аватар под дизайн.
Пример комплексного решения для изменения аватаров на сайте
Часто удобно объединить фильтр и стили для более гибкой настройки. Вот пример кода, который можно добавить в functions.php:
function wpteam_custom_avatar_size( $avatar, $id_or_email, $size, $default, $alt ) {
$custom_size = 80; // задаем новый размер
if ( $size !== $custom_size ) {
$avatar = get_avatar( $id_or_email, $custom_size, $default, $alt );
}
return $avatar;
}
add_filter( 'get_avatar', 'wpteam_custom_avatar_size', 10, 5 );
function wpteam_custom_avatar_css() {
echo '<style>
.avatar {
width: 80px !important;
height: 80px !important;
border-radius: 50%;
}
</style>';
}
add_action( 'wp_head', 'wpteam_custom_avatar_css' );
Такой код гарантирует, что аватары будут загружаться нужного размера и иметь единый стиль на сайте.
Советы по работе с аватарами и производительностью
При изменении размера аватаров стоит помнить, что Gravatar подгружает изображения с сервера, и если задавать слишком большой размер, это может замедлить загрузку страниц. Оптимальный размер аватара для большинства сайтов — от 48 до 96 пикселей.
Если нужен уникальный дизайн аватаров, можно рассмотреть плагины, например, Clearfy Pro, который расширяет возможности настройки сайта, включая аватары.
Также полезно кешировать аватары, чтобы уменьшить количество запросов к Gravatar и повысить скорость сайта.
Вывод
Изменить размер аватара пользователя в WordPress без плагинов можно несколькими способами: напрямую в вызовах get_avatar(), через фильтр get_avatar или стили CSS. Комбинируя эти методы, вы добьетесь нужного результата и сохраните скорость загрузки сайта.