get_avatar_url()
Отримує посилання на аватар, надісланий email, ID або об’єкт користувача. Також можна передати об’єкт посту чи коментаря.
Ця функція не перевірять, чи реально аватар, вона просто збирає URL на сервіс gravatar.com. Щоб перевірити, якщо у email аватар, вам потрібно обробити отриманий URL окремо. Потрібно вказати в default 404, потім отримати URL і спробувати отримати картинку цього URL через get_headers() . Якщо відповідь поверне 404, то аватарки email немає. Див. Приклади.
Також дивіться функцію get_avatar() .
get_avatar_data()
1 раз – 0.00008 сек
(дуже швидко) | 50000 разів – 1.67 сек
(швидко) |
PHP 7.0.8, WP 4.5.3
Хуків немає.
Повертає
Строку|false
. УРЛ аватара (повертається у 99% випадків). false, якщо у роботі функції щось пішло не так і не вдалося зібрати URL-адресу.
Використання
get_avatar_url($id_or_email, $args);
-
$id_or_email
(змішаний) (обов’язковий) Ідентифікатор за яким визначатиметься аватар. Може бути:
- ID користувача;
- email користувача;
- gravatar md5 хеш (md5 хеш мила);
- WP_User об’єкт;
- WP_Post об’єкт – отримає аватар автора посту;
- WP_Comment об’єкт – отримає аватар коментатора.
-
$args
(масив) Параметри отримуваного аватара. За замовчуванням:
- size (число)
Висота та ширина аватара в пікселях.
Типово: 96 default (рядок)
УРЛ на зображення за замовчуванням – якщо не вдалося отримати аватар. Замість УРЛ можна вказати такі значення:404
– Поверне 404 замість дефолтної картинки.retro
– піксельна картинка 8bit: ,monsterid
– монстрик: ,wavatar
– Мульт обличчя: ,indenticon
– картинка-візерунок: ,mystery
, ‘mm’ або ‘mysterman’ – невідома людина: ,blank
– прозора GIF картинка,gravatar_default
– Логотип Gravatar: .
За замовчуванням: значення опції ‘avatar_default’ або ‘mystery’
force_default (логічний)
Ставимо true, якщо потрібно завжди показувати дефолтну картинку і не показувати аватари зовсім.
Типово: falserating (рядок)
Максимально допустимий рейтинг аватарки, що виводиться. Може бути:G
– Підходить для будь-якої аудиторії;PG
— Може містити образливі елементи, зазвичай для аудиторії віком від 13 років;R
– Розрахований на дорослу аудиторію старше 17 років;X
– Для ще більш зрілої аудиторії;
За замовчуванням значення опції ‘avatar_rating’
scheme (рядок)
Схема УРЛ, яка використовуватиметься. Можливо: ‘http’, ‘https’, ‘login’, ‘login_post’, ‘admin’, або ‘relative’. Докладніше дивіться функцію set_url_scheme() .
Типово: nullprocessed_args (масив)
Додаткові опції передачі. При фільтрації та поверненні даних функцією get_avatar_data() ці параметри будуть додані у масив, що повертається.
Типово: null- extra_attr (рядок)
HTML атрибути для додавання до елементу IMG. Чи не очищаються.
За замовчуванням: ”
Типово: null
- size (число)
Приклади
#1 Отримаємо УРЛ аватарки по email користувача
$url = get_avatar_url( '[email protected]', array( 'size' => 48, 'default'=>'identicon', ))); // http://1.gravatar.com/avatar/4b508f04b661ba693130539bd29f5c0d?s=48&d=identicon&r=g
#2 Отримаємо УРЛ аватарки поточного користувача
$url = get_avatar_url( wp_get_current_user(), array( 'size' => 48, 'default'=>'wavatar', ))); // http://1.gravatar.com/avatar/155e695ab2251ee3c482c1e3e690683b?s=48&d=identicon&r=g
#3 Виведемо картинку-аватарку автора цієї статті
global $post; $url = get_avatar_url( $post, "size=24&default=monsterid"); $img = '<img alt="" src="'. $url .'">'; echo $img; // <img alt="" src="http://1.gravatar.com/avatar/155e695ab2251ee3c482c1e3e690683b?s=24&d=wavatar&r=g">
#4 Перевірка чи є аватар у email
Щоб перевірити, якщо у email аватар, потрібно обробити URL граватора окремо. У параметрі default вказати 404 , потім отримати URL і спробувати отримати картинку цього URL через get_headers() . Якщо відповідь поверне 404, то аватарки email немає.
// перевірка чи є аватар у email function has_gravatar( $email ){ $gravatar_url = get_avatar_url( $email, 'default=404'); $headers = @get_headers($gravatar_url); return! preg_match('|404|', $headers[0] ); } var_dump( has_gravatar('[email protected]') ); // true var_dump( has_gravatar('[email protected]') ); // false // час виконання від 0,1 до 1 секунди... дуже довго - це запит HTTP...
Така перевірка запиту буде сильно гальмувати завантаження сайту, але якщо дуже потрібно, то запит можна кудись кешувати, наприклад в set_transient() …
список змін
З версії 4.2.0 | Введено. |
Код get_avatar_url() get avatar url WP 6.0.2
function get_avatar_url( $id_or_email, $args = null ) { $ args = get_avatar_data ($ id_or_email, $ args); return $args['url']; }