get_avatar_url

Позволяет изменить URL аватара
Хук WordPress
INT 4.2.0
WordPress Icon

Описание хука

Хук «get_avatar_url» позволяет изменить URL аватара.

Этот хук вызывается в функции «get_avatar_url()», которая используется для получения URL аватара пользователя.

При использовании хука «get_avatar_url» можно изменить URL аватара, например, заменить его на другой URL или добавить дополнительные параметры.

Использование

apply_filters( 'get_avatar_url', string $url, mixed $id_or_email, array $args )

Где:

  • $url (строка) — URL аватара.
  • $id_or_email (смешанный) — аватар для получения. Принимает идентификатор пользователя, хэш Gravatar MD5, электронную почту пользователя, объект WP_User, объект WP_Post или объект WP_Comment.
  • $args (массив) — аргументы, переданные в функцию «get_avatar_data()», после обработки.

Функция «apply_filters()» позволяет определить, какие функции или методы будут выполнены при вызове хука «get_avatar_url».

  • $url (строка) — URL аватара.
  • $id_or_email (смешанный) — аватар для получения. Принимает идентификатор пользователя, хэш Gravatar MD5, электронную почту пользователя, объект WP_User, объект WP_Post или объект WP_Comment.
  • $args (массив) — аргументы, переданные в функцию «get_avatar_data()», после обработки.
  • size (целое число) — высота и ширина файла изображения аватара в пикселях. По умолчанию 96.
  • height (целое число) — высота отображения аватара в пикселях. По умолчанию равна значению size.
  • width (целое число) — ширина отображения аватара в пикселях. По умолчанию равна значению size.
  • default (строка) — URL для изображения по умолчанию или тип по умолчанию. Принимает значения ‘404’ (возвращает ошибку 404 вместо изображения по умолчанию), ‘retro’ (8-битное изображение), ‘monsterid’ (изображение монстра), ‘wavatar’ (карикатурное изображение лица), ‘indenticon’ (изображение «квилта»), ‘mystery’, ‘mm’ или ‘mysteryman’ (изображение «Человек-Устрица»), ‘blank’ (прозрачный GIF) или ‘gravatar_default’ (логотип Gravatar). По умолчанию используется значение опции ‘avatar_default’, с резервным значением ‘mystery’.
  • force_default (логическое значение) — всегда показывать изображение по умолчанию, а не Gravatar. По умолчанию false.
  • rating (строка) — какую рейтинговую категорию использовать для отображения аватаров. Принимает значения ‘G’, ‘PG’, ‘R’, ‘X’ и оценивает их в указанном порядке. По умолчанию используется значение опции ‘avatar_rating’.
  • scheme (строка) — схема URL для использования. См. функцию «set_url_scheme()» для принимаемых значений.
  • processed_args (массив) — после выполнения функции значение будет обработанными/очищенными $args плюс догадка «found_avatar». Передается по ссылке.
  • extra_attr (строка) — HTML атрибуты для вставки в элемент IMG. Не очищается. По умолчанию пусто.
<?php
/**
 * Пример использования хука get_avatar_url.
 *
 * @param string $url           URL аватара.
 * @param mixed  $id_or_email   Аватар для получения.
 * @param array  $args          Аргументы, переданные в функцию get_avatar_data().
 * @return string               Измененный URL аватара.
 */
function custom_get_avatar_url( $url, $id_or_email, $args ) {
    // Ваш код для изменения URL аватара.
    return $url;
}
add_filter( 'get_avatar_url', 'custom_get_avatar_url', 10, 3 );

В приведенном выше примере кода создается пользовательская функция «custom_get_avatar_url», которая принимает три параметра: $url, $id_or_email и $args. Внутри функции вы можете изменить URL аватара по вашему усмотрению. Затем с помощью функции «add_filter()» добавляется фильтр «get_avatar_url», который вызывает пользовательскую функцию «custom_get_avatar_url» при вызове хука «get_avatar_url».

Примеры использования

Изменение размера аватара


function custom_avatar_size( $url, $id_or_email, $args ) {
    // Установка размера аватара
    $args['size'] = 200;
    // Возврат обновленного URL аватара
    return $url;
}
add_filter( 'get_avatar_url', 'custom_avatar_size', 10, 3 );

В этом примере мы создаем функцию custom_avatar_size, которая принимает URL аватара, идентификатор пользователя или email, а также аргументы. Мы изменяем размер аватара, устанавливая значение аргумента size равным 200. Затем мы возвращаем обновленный URL аватара.

Установка собственного URL-адреса для аватара


function custom_avatar_url( $url, $id_or_email, $args ) {
    // Установка собственного URL-адреса для аватара
    $custom_url = 'https://example.com/avatar.jpg';
    // Возврат собственного URL-адреса для аватара
    return $custom_url;
}
add_filter( 'get_avatar_url', 'custom_avatar_url', 10, 3 );

В этом примере мы создаем функцию custom_avatar_url, которая принимает URL аватара, идентификатор пользователя или email, а также аргументы. Мы устанавливаем собственный URL-адрес для аватара, заменяя значение переменной $custom_url на нужный URL. Затем мы возвращаем собственный URL-адрес для аватара.

Добавление атрибутов HTML для аватара


function custom_avatar_attributes( $url, $id_or_email, $args ) {
    // Добавление атрибутов HTML для аватара
    $args['extra_attr'] = 'class="avatar" alt="User Avatar"';
    // Возврат обновленного URL аватара
    return $url;
}
add_filter( 'get_avatar_url', 'custom_avatar_attributes', 10, 3 );

В этом примере мы создаем функцию custom_avatar_attributes, которая принимает URL аватара, идентификатор пользователя или email, а также аргументы. Мы добавляем атрибуты HTML для аватара, устанавливая значение аргумента extra_attr на нужные атрибуты. Затем мы возвращаем обновленный URL аватара.

Изменение типа аватара


function custom_avatar_type( $url, $id_or_email, $args ) {
    // Изменение типа аватара
    $args['default'] = 'wavatar';
    // Возврат обновленного URL аватара
    return $url;
}
add_filter( 'get_avatar_url', 'custom_avatar_type', 10, 3 );

В этом примере мы создаем функцию custom_avatar_type, которая принимает URL аватара, идентификатор пользователя или email, а также аргументы. Мы изменяем тип аватара, устанавливая значение аргумента default на нужный тип (например, ‘wavatar’ для рисунка в стиле мультфильма). Затем мы возвращаем обновленный URL аватара.

Использование кастомной функции для получения аватара


function custom_get_avatar( $avatar, $id_or_email, $size, $default, $alt ) {
    // Кастомная функция для получения аватара
    $custom_avatar = '<img src="https://example.com/avatar.jpg" width="' . $size . '" height="' . $size . '" class="avatar" alt="' . $alt . '">';
    // Возврат кастомного аватара
    return $custom_avatar;
}
add_filter( 'get_avatar', 'custom_get_avatar', 10, 5 );

В этом примере мы создаем функцию custom_get_avatar, которая принимает текущий аватар, идентификатор пользователя или email, размер аватара, тип аватара по умолчанию и альтернативный текст. Мы создаем кастомный HTML-код для аватара, используя нужные значения. Затем мы возвращаем кастомный аватар.

Вопросы и ответы

Как изменить размер аватара?

Для изменения размера аватара в WordPress можно использовать хук get_avatar_url. В параметрах этого хука есть аргумент $args, в котором можно указать размер аватара. По умолчанию размер равен 96 пикселей.

Пример кода:


add_filter( 'get_avatar_url', 'custom_avatar_size', 10, 3 );
function custom_avatar_size( $url, $id_or_email, $args ) {
    $args['size'] = 150; // Устанавливаем размер аватара в 150 пикселей
    return $url;
}

Как указать свой URL для аватара по умолчанию?

Для указания своего URL для аватара по умолчанию в WordPress можно использовать хук get_avatar_url. В параметрах этого хука есть аргумент $args, в котором можно указать URL для аватара по умолчанию.

Пример кода:


add_filter( 'get_avatar_url', 'custom_default_avatar', 10, 3 );
function custom_default_avatar( $url, $id_or_email, $args ) {
    $args['default'] = 'https://example.com/my-default-avatar.png'; // Устанавливаем свой URL для аватара по умолчанию
    return $url;
}

Как изменить тип аватара по умолчанию?

Для изменения типа аватара по умолчанию в WordPress можно использовать хук get_avatar_url. В параметрах этого хука есть аргумент $args, в котором можно указать тип аватара по умолчанию.

Пример кода:


add_filter( 'get_avatar_url', 'custom_default_avatar_type', 10, 3 );
function custom_default_avatar_type( $url, $id_or_email, $args ) {
    $args['default'] = 'monsterid'; // Устанавливаем тип аватара по умолчанию как "monsterid"
    return $url;
}

Как использовать собственный URL-схему для аватара?

Для использования собственной URL-схемы для аватара в WordPress можно воспользоваться хуком get_avatar_url. Этот хук позволяет изменить URL аватара перед его получением.

Для использования хука get_avatar_url необходимо добавить следующий код в файл functions.php вашей темы:

// Функция-обработчик хука get_avatar_url
function custom_avatar_url( $url, $id_or_email, $args ) {
    // Ваш код для изменения URL аватара
    return $url;
}
add_filter( 'get_avatar_url', 'custom_avatar_url', 10, 3 );

В функции-обработчике custom_avatar_url вы можете изменить URL аватара в соответствии с вашими требованиями. Возвращаемое значение функции должно быть измененным URL аватара.

Как отключить Gravatar и всегда показывать аватар по умолчанию?

Для отключения Gravatar и всегда показа аватара по умолчанию в WordPress можно использовать хук get_avatar_url и установить параметр force_default в значение true.

Для использования хука get_avatar_url с параметром force_default необходимо добавить следующий код в файл functions.php вашей темы:

// Функция-обработчик хука get_avatar_url с параметром force_default
function disable_gravatar( $url, $id_or_email, $args ) {
    $args['force_default'] = true;
    return $url;
}
add_filter( 'get_avatar_url', 'disable_gravatar', 10, 3 );

Теперь аватары будут всегда показываться по умолчанию, а не с использованием Gravatar.

Как изменить рейтинг аватаров?

Для изменения рейтинга аватаров в WordPress можно использовать хук get_avatar_url и установить параметр rating в нужное значение.

Для использования хука get_avatar_url с параметром rating необходимо добавить следующий код в файл functions.php вашей темы:

// Функция-обработчик хука get_avatar_url с параметром rating
function change_avatar_rating( $url, $id_or_email, $args ) {
    $args['rating'] = 'PG'; // Изменение рейтинга на PG
    return $url;
}
add_filter( 'get_avatar_url', 'change_avatar_rating', 10, 3 );

Теперь аватары будут отображаться согласно выбранному рейтингу. В данном примере рейтинг установлен на PG.

Как добавить дополнительные атрибуты HTML для тега IMG аватара?

Для добавления дополнительных атрибутов HTML для тега IMG аватара в WordPress можно использовать хук get_avatar_url. Этот хук позволяет изменить URL аватара и добавить дополнительные атрибуты к тегу IMG.

Пример использования хука get_avatar_url:

// Функция-обработчик хука get_avatar_url
function custom_get_avatar_url( $url, $id_or_email, $args ) {
    // Добавляем дополнительные атрибуты к тегу IMG
    $extra_attr = 'class="avatar" alt="User Avatar"';
    $url = str_replace( '<img', '<img ' . $extra_attr, $url );
    
    return $url;
}
add_filter( 'get_avatar_url', 'custom_get_avatar_url', 10, 3 );

Как получить аватар пользователя по его email?

Для получения аватара пользователя по его email в WordPress можно использовать функцию get_avatar_url. Эта функция принимает email пользователя в качестве параметра и возвращает URL его аватара.

Пример использования функции get_avatar_url:

// Получаем URL аватара пользователя по его email
$email = 'user@example.com';
$avatar_url = get_avatar_url( $email );
// Выводим аватар пользователя
echo '<img src="' . $avatar_url . '" alt="User Avatar" class="avatar" />';

Как получить аватар пользователя по его ID?

Для получения аватара пользователя по его ID в WordPress можно использовать функцию get_avatar_url. Эта функция принимает ID пользователя в качестве параметра и возвращает URL его аватара.

Пример использования функции get_avatar_url:

// Получаем URL аватара пользователя по его ID
$user_id = 1;
$avatar_url = get_avatar_url( $user_id );
// Выводим аватар пользователя
echo '<img src="' . $avatar_url . '" alt="User Avatar" class="avatar" />';

Хук get_avatar_url в WordPress позволяет изменить URL аватара и добавить дополнительные атрибуты HTML для тега IMG аватара. Функция get_avatar_url позволяет получить аватар пользователя по его email или ID. Эти возможности могут быть полезны при разработке WordPress-сайтов.

Связанные элементы

  • Функция get_avatar(): Возвращает HTML-код аватара пользователя.
  • Функция get_avatar_data(): Возвращает данные аватара пользователя.
  • Функция get_avatar_url(): Возвращает URL аватара пользователя.
  • Хук pre_get_avatar_data: Позволяет изменить данные аватара перед их получением.
  • Хук get_avatar: Позволяет изменить HTML-код аватара перед его выводом.
Обсуждение