Вопрос или проблема
Я использую эту пользовательскую функцию, чтобы получить аватар по умолчанию с моего сервера вместо gravatar:
if(!function_exists('custom_avatar')){
function custom_avatar($avatar_defaults){
$new_default_icon = 'http://localhost/gv/wp-content/images/mystery-man.png';
$avatar_defaults[$new_default_icon] = 'Пользовательский аватар';
return $avatar_defaults;
}
add_filter('avatar_defaults','custom_avatar');
}
Но пользовательский аватар не отображается, когда я смотрю исходный код, тогда src
изображения выглядит так:
http://0.gravatar.com/avatar/a432e8915b383edd8d25c2a4fd5a6995?s=32&d=http%3A%2F%2Flocalhost%2Fgv%2Fwp-content%2Fimages%2Fmystery-man.png%3Fs%3D32&r=G&forcedefault=1
Почему src
моего изображения относится к gravatar здесь? Как я могу исправить эту проблему?
Просто используйте функцию get_avatar, $default – это ваш пользовательский аватар по умолчанию.
<?php echo get_avatar( $id_or_email, $size, $default, $alt, $args ); ?>
Просто добавьте это в ваш файл functions.php (URL изображения должен быть полным). Затем перейдите в раздел выбора gravatar и выберите новый аватар.
/*** Изменить стандартный gravatar */
add_filter( 'avatar_defaults', 'new_gravatar' );
function new_gravatar ($avatar_defaults) {
$myavatar="https://example.com/image.webp";
$avatar_defaults[$myavatar] = "Стандартный Gravatar";
return $avatar_defaults;
}
Чтобы отобразить пользовательский аватар по умолчанию вместо Gravatar в Wp, используя фильтр, вы можете использовать фильтр avatar_defaults
// Добавить пользовательский аватар по умолчанию
function custom_default_avatar( $avatar_defaults ) {
$custom_avatar_url="URL_ВАШЕГО_ПОЛЬЗОВАТЕЛЬСКОГО_АВАТАРА"; // Замените это на URL вашего пользовательского аватара
$avatar_defaults['custom_avatar'] = 'Пользовательский аватар'; // Добавьте название для вашего пользовательского аватара
return $avatar_defaults;
}
add_filter( 'avatar_defaults', 'custom_default_avatar' );
// Функция для замены Gravatar на пользовательский аватар по умолчанию
function replace_default_avatar( $avatar, $id_or_email, $size, $default, $alt ) {
$custom_avatar_url="URL_ВАШЕГО_ПОЛЬЗОВАТЕЛЬСКОГО_АВАТАРА"; // Замените это на URL вашего пользовательского аватара
$custom_avatar = "<img alt="{$alt}" src="https://wordpress.stackexchange.com/questions/162618/{$custom_avatar_url}" class="avatar avatar-{$size} photo" height="{$size}" width="{$size}" />";
return $custom_avatar;
}
add_filter( 'get_avatar', 'replace_default_avatar', 10, 5 );
.
Ответ или решение
Настройка Пользовательского Значка Аватара Вместо Gravatar в WordPress
В данном руководстве мы рассмотрим, как настроить пользовательский значок аватара в WordPress вместо стандартного Gravatar. Это может быть полезно для создания уникального внешнего вида вашего сайта и улучшения взаимодействия с пользователями.
Шаг 1: Проверка и Замена Функции
Вы уже пробовали использовать следующую функцию в вашем файле functions.php
:
if(!function_exists('custom_avatar')){
function custom_avatar($avatar_defaults){
$new_default_icon = 'http://localhost/gv/wp-content/images/mystery-man.png';
$avatar_defaults[$new_default_icon] = 'Custom Avatar';
return $avatar_defaults;
}
add_filter('avatar_defaults','custom_avatar');
}
Однако, вы столкнулись с проблемой, когда URL аватара по умолчанию ссылается на Gravatar:
http://0.gravatar.com/avatar/a432e8915b383edd8d25c2a4fd5a6995?s=32&d=http%3A%2F%2Flocalhost%2Fgv%2Fwp-content%2Fimages%2Fmystery-man.png%3Fs%3D32&r=G&forcedefault=1
Возможные Причины Проблемы
Наиболее вероятная причина генерации этой ссылки — недоступность или неправильный путь к вашему изображению. WordPress пытается обратиться к Gravatar в качестве резервного варианта, когда не может найти указанный вами путь к изображению.
Шаг 2: Настройка URL Аватара
Сначала убедитесь, что URL, который вы используете для пользовательского аватара, является полным и доступным из внешней сети. Например:
$new_default_icon = 'https://example.com/wp-content/images/mystery-man.png'; // Используйте полный URL вашего изображения
Также убедитесь, что изображение загружено на сервер и доступно по указанному URL.
Шаг 3: Обновление Параметров Аватара
Чтобы получить ваш собственный аватар по умолчанию, вы можете использовать следующий код:
// Добавление пользовательского аватара по умолчанию
function custom_default_avatar( $avatar_defaults ) {
$custom_avatar_url = "https://example.com/wp-content/images/mystery-man.png"; // Замените URL на адрес вашего изображения
$avatar_defaults[$custom_avatar_url] = 'Пользовательский Аватар'; // Добавление метки для вашего аватара
return $avatar_defaults;
}
add_filter( 'avatar_defaults', 'custom_default_avatar' );
Шаг 4: Заменяем Gravatar на Ваш Аватар
Для замены Gravatar на ваш собственный аватар, воспользуйтесь следующим фильтром:
function replace_default_avatar( $avatar, $id_or_email, $size, $default, $alt ) {
$custom_avatar_url = "https://example.com/wp-content/images/mystery-man.png"; // Замените на URL вашего изображения
if (isset($default) && $default === 'custom_avatar') {
return "<img alt='{$alt}' src='{$custom_avatar_url}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
}
return $avatar;
}
add_filter( 'get_avatar', 'replace_default_avatar', 10, 5 );
Завершение
С применением этих шагов, ваш WordPress сайт будет использовать пользовательский аватар вместо стандартного Gravatar. Убедитесь, что все пути к изображениям корректны и доступ к ним обеспечен. Это не только улучшит внешний вид вашего сайта, но и сделает его более удобным для пользователей.
Для получения дополнительной информации об использовании функции get_avatar
, вы можете ознакомиться с документацией WordPress.
Следуя рекомендациям, вы сможете эффективно настроить ваш сайт, что, несомненно, положительно скажется на его восприятии пользователями.