get_avatar() WP 2.5.0

Отримує html код аватара ( <img>) коментатора, якщо користувач авторизований або вказав email під час коментування. Зазвичай використовується у розділі коментарів.

Використовується всередині циклу коментарів або обов’язково потрібно передати перший параметр!

Використовуйте фільтр get_avatar , коли потрібно змінити результат функції.

Це init .

Заміна функції (перевизначення) — у плагіні можна створити функцію з такою самою назвою, тоді вона замінить поточну функцію.

Працює на основі:
get_avatar_url() ,
get_avatar_data()
1 раз – 0.000196 сек
(швидко) | 50000 разів – 4.98 сек
(швидко) |
PHP 7.1.0, WP 4.7.1

Хуки з функції

Повертає

Строку|false. HTML тег <img>. false якщо не вдалося надіслати запит. Якщо немає аватара, але запит відправився, то поверне аватарку дефолтом – не false.

Використання

get_avatar($id_or_email, $size, $default, $alt, $args);
$id_or_email
(рядок/об’єкт/число) (обов’язковий)

ID або email користувача, для якого необхідно отримати аватар. Також можна вказати об’єкти: WP_User , WP_Post , WP_Comment або md5 хеш gravatar.

У більшості шаблонів у цьому параметрі можна вказати глобальну змінну $comment. Якщо функція не працює (викликає помилку), то запишіть у неї email коментатора, наприклад:

get_avatar('[email protected]');
$size
(число)
Розмір картинки. Зазначене число стане шириною та висотою в пікселях.


Типово: 96
$default
(рядок)

УРЛ на зображення за замовчуванням, для користувачів, які не мають аватарки в сервісі gravatar.

Також приймає:

  • 404– Поверне 404 замість дефолтної картинки.
  • retro– піксельна картинка 8bit:get_avatar() – Отримує html код аватара (<img>) коментатора, якщо користувач авторизований або вказавши email під час коментування.
  • monsterid– монстрик:get_avatar() – Отримує html код аватара (<img>) коментатора, якщо користувач авторизований або вказавши email під час коментування.
  • wavatar– Мульт обличчя:get_avatar() – Отримує html код аватара (<img>) коментатора, якщо користувач авторизований або вказавши email під час коментування.
  • indenticon– картинка-візерунок:get_avatar() – Отримує html код аватара (<img>) коментатора, якщо користувач авторизований або вказавши email під час коментування.
  • mystery, ‘mm’ або ‘mysterman’ – невідома людина:get_avatar() – Отримує html код аватара (<img>) коментатора, якщо користувач авторизований або вказавши email під час коментування.
  • blank– прозора GIF картинка.
  • gravatar_default– логотип Gravatar:get_avatar() – Отримує html код аватара (<img>) коментатора, якщо користувач авторизований або вказавши email під час коментування.

За промовчанням: ” (значення опції ‘avatar_default’ або ‘mystery’)

$alt
(рядок)
Текст для атрибуту ‘alt’ тега
<img> .


За замовчуванням: ”
$args
(масив)

Додаткові аргументи для отримання аватара:

  • height– Число. Висота у пікселях. Типово $size .
  • width– Число. Ширина у пікселях. Типово $size .
  • force_default– логічний. Завжди показувати дефолтну картинку і ніколи не аватар.
  • rating– Рядок. Мінімальний рейтинг аватара для відображення. Можливо: ‘G’, ‘PG’, ‘R’, ‘X’. За промовчанням значення опції ‘avatar_rating’.
  • scheme– Рядок. Схема URL, яка буде використовуватися. Дивіться set_url_scheme() .
  • class– Масив/рядок. Додаткові класи для тега img.
  • force_display– логічний. Завжди показувати аватар? Ігнорує опцію show_avatars.
  • extra_attr– Рядок. Додаткові HTML атрибути для тега IMG. Перед виведенням на екран не очищаються.
  • loading– Рядок lazy.

Типово: null

Приклади

0

#1 Виведемо Аватар поточного коментатора:

<?php echo get_avatar($ comment, 32); ?>

Отримаємо:

<img alt='get_avatar() – Отримує html код аватара (<img>) коментатора, якщо користувач авторизований або вказавши email під час коментування.' src='http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=32' class='avatar avatar-32 photo avatar-default' height='32' width='32' / >
0

#2 Висновок аватара автора поточного посту

<?php echo get_avatar( get_the_author_meta('user_email'), 32); ?>
0

#3 Додавання атрибуту style

Параметр ‘extra_attr’ дозволяє додавати будь-які атрибути тега IMG:

<?php echo get_avatar( $current_user->user_email, 30, '', '', array('class'=>'pull-left', 'extra_attr'=>'style="margin: -4px 7px;"' ))); ?>

Отримаємо:

<img alt="get_avatar() – Отримує html код аватара (<img>) коментатора, якщо користувач авторизований або вказавши email під час коментування." src="http://1.gravatar.com/avatar/155e695ab2987ee3c482c1e3e690683b?s=30&d=mm&r=g"
	class="avatar avatar-30 photo pull-left"
	height="30" width="30"
	style="margin: -4px 7px;"
>
0

#4 Варіант аватарки за замовчуванням у налаштуваннях обговорення

Це код додавання ще однієї картинки (опції) у налаштуваннях обговорення, яку можна вибрати як аватарку за умовчанням. Така аватарка зберігається в опції get_option(‘avatar_default’) .

## Додає ще один варіант аватарки за умовчанням у налаштування обговорення
## Файл аватарки 'def-avatar.jpg' потрібно залити в папку теми 'img'
add_filter( 'avatar_defaults', 'add_default_avatar_option');
function add_default_avatar_option( $avatars ){
	$url = get_stylesheet_directory_uri() . '/img/def-avatar.jpg';
	$avatars[ $url ] = 'Аватар сайту';
	return $avatars;
}

В результаті отримаємо таку додаткову опцію:

get_avatar() – Отримує html код аватара (<img>) коментатора, якщо користувач авторизований або вказавши email під час коментування.

0

Аватар за замовчуванням

Якщо для минулого варіанту потрібно додати хук, потім зайти в налаштування і вибрати дефолтний аватар, то цей варіант встановить аватарку по дефолту відразу ж…

Цей варіант встановлює аватар за умовчанням «нальоту», для функцій: get_avatar_data() . Дефолтний аватар буде встановлено лише якщо функції не вказано дефолтний аватар, тобто. не встановлено параметр ‘default’.

## Встановлює аватар за замовчуванням
## Файл аватарки 'def-avatar.jpg' потрібно залити в папку теми 'img'
add_filter( 'pre_get_avatar_data', 'replace_default_avatar');
function replace_default_avatar( $args ){
	// адмінка та сторінка обговорення, де налаштовується ава за замовчуванням.
	// if( is_admin() && get_current_screen()->base === 'options-discussion' ) return $args;

	static $defava; if( $defava === null ) $defava = get_option( 'avatar_default', 'mystery' ); // прискоримося

	// Якщо використовується ава за умовчанням, щоб працював параметр 'default' якщо він встановлений для функцій аватарок
	if( ! $args['default'] || $defava == $args['default'] ){
		$args['default'] = get_stylesheet_directory_uri() . '/img/def-avatar.jpg';
	}

	return $args;
}

список змін

З версії 2.5.0Введено.
З версії 4.2.0Optional $args parameter added.

get avatar WP 6.0.2

function get_avatar( $id_or_email, $size = 96, $default = '', $alt = '', $ args = null ) { $defaults = array( // get_avatar_data() args. 'size' => 96, 'height' => null, 'width' => null, 'default' => get_option( 'avatar_default', 'mystery' ), 'force_default' => false, 'rating' => get_option( 'avatar_rating' ), 'scheme' => null, 'alt' => '', 'class' => null, 'force_display' => false, 'loading' => null, 'extra_attr' => '', ); if ( wp_lazy_loading_enabled( 'img', 'get_avatar' ) ) { $defaults['loading'] = wp_get_loading_attr_default('get_avatar'); } if ( empty( $args ) ) { $args = array(); } $args['size'] = (int) $size; $args['default'] = $default; $args['alt'] = $alt; $ args = wp_parse_args ($ args, $ defaults); if ( empty( $args['height'] ) ) { $args['height'] = $args['size']; } if ( empty( $args['width'] ) ) { $args['width'] = $args['size']; } if ( is_object( $id_or_email ) && isset( $id_or_email->comment_ID ) ) { $id_or_email = get_comment( $id_or_email ); } /** * Натиснувши HTML для user's avatar до returned early. * * Returning a non-null value will effectively short-circuit get_avatar(), passing * the value through the {@see 'get_avatar'} filter and returning early. * * @ Since 4.2.0 * * @param string|null $avatar HTML for the user's avatar. Default null. * @param mixed $id_or_email The avatar to retrieve. Accepts a user_id, Gravatar MD5 hash, * user email, WP_User object, WP_Post object, або WP_Comment object. * @param array $args Arguments passed to get_avatar_url(), після processing. */ $avatar = apply_filters( 'pre_get_avatar', null, $id_or_email, $args ); if ( ! is_null( $avatar ) ) { /** Цей filter is documented в wp-includes/pluggable.php */ return apply_filters( 'get_avatar', $avatar, $id_or_email, $args['size'], $args['default'], $args['alt'], $args ); } if ( ! $args['force_display'] && ! get_option( 'show_avatars' ) ) { return false; } $url2x = get_avatar_url( $id_or_email, array_merge( $args, array( 'size' => $args['size'] * 2 ) ) )); $ args = get_avatar_data ($ id_or_email, $ args); $url = $args['url']; if ( ! $url || is_wp_error( $url ) ) { return false; } $class = array( 'avatar', 'avatar-' . (int) $args['size'], 'photo' ); if ( ! $args['found_avatar'] || $args['force_default'] ) { $class[] = 'avatar-default'; } if ( $args['class'] ) { if ( is_array( $args['class'] ) ) { $class = array_merge( $class, $args['class'] ); } else { $class[] = $args['class']; } } // Add `loading` attribute. $extra_attr = $args['extra_attr']; $loading = $args['loading']; if ( in_array( $loading, array( 'lazy', 'eager' ), true ) && ! preg_match( '/bloadings*=/', $extra_attr ) ) { if ( ! empty( $extra_attr ) ) { $extra_attr .= ''; } $extra_attr .= "loading='{$loading}'"; } $avatar = sprintf( "<img alt='%s' src='%s' srcset='%s' class='%s' height='%d' width='%d' %s/>", esc_attr( $args['alt'] ), esc_url($url), esc_url($url2x). '2x', esc_attr( implode( ' ', $class ) ), (int) $args['height'], (int) $args['width'], $extra_attr ); /** * Filters HTML для user's avatar. * * @ Since 2.5.0 * @since 4.2.0 The `$args` parameter was added. * * @param string $avatar HTML for the user's avatar. * @param mixed $id_or_email The avatar to retrieve. Accepts a user_id, Gravatar MD5 hash, * user email, WP_User object, WP_Post object, або WP_Comment object. * @param int $size Square avatar width and height in pixels to retrieve. * @param string $default URL for default image або default type. Accepts '404', 'retro', 'monsterid', * 'wavatar', 'indenticon', 'mystery', 'mm', 'mysteryman', 'blank', або 'gravatar_default'. * @param string $alt Додатковий текст для використання в avatar зображення зображення. * @param array $args Arguments passed to get_avatar_data(), після processing. */ return apply_filters( 'get_avatar', $avatar, $id_or_email, $args['size'], $args['default'], $args['alt'], $args ); }

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *