WordPress как на ладони
wordpress jino

Оптимизация загрузки дефолтного аватара на WordPress, возможно ли?

Пытаюсь разбираться с кодом и попутно оптимизировать свой сайт.

Нашел в сети код для подмены дефолтного аватара на свой. Отличие кода от вариантов на этом сайте - аватарка грузиться с родного блога, а не с граватора.

Вот сам код:

function my_get_avatar($avatar, $id_or_email, $size, $default, $alt){
	$imgpath = home_url()."/wp-content/uploads/gravatar/gravatar_default.png";
	$avatar = "<img src='".$imgpath."' alt='".$alt."' height='".$size."' width='".$size."' />";
	return $avatar;
}
add_filter( 'get_avatar', 'my_get_avatar', 26, 26);

Все бы хорошо, но как я понял, результат этого кода - аватары всех авторов будут одинаковы.

В программировании не силен, хотя не все так безнадежно.

1) Хотелось бы прикрутить что-то вроде такого кода:

    if( есть аватар на граватор ){
		читаем аватар с граватора;
	}
else { берем картинку со своего сайта }

	return $args;

2) Есть смысл заморачиваться с таким кодом в плане ускорения сайта или такая смесь аваторок не даст прироста скорости загрузки страницы за счет уменьшения редиректов?

3) Если смысл есть, помогите с кодом

0
Сергей 9 месяцев назад
  • 0
    Kama4464

    Смысла нет! Прочитай и пойми 4 пример отсюда: get_avatar_url()

    Эта функция не проверят если ли реально аватар, она просто собирает URL на сервис gravatar.com. Чтобы проверить если ли у email аватар, вам нужно обработать полученный URL отдельно. Нужно указать в default 404, затем получить URL и попробовать получить картинку по этому URL через get_headers(). Если ответ вернет 404, то аватарки у email нет.

    То как картинки получаются с граватра - это наиболее быстрый способ симбиоза, граватара с дефолтной картинкой. Вариантов установить дефолтную картинку так чтобы она грузилась с твоего сайта и чтобы в результате все работало быстрее - нет!

    Альтернатива - это установить плагин, где юзеры смогут на твоем сайте ставить себе аватарки. Граватар при этом будет отключен.

    П.С. Для плюсиков в pagespeed можно попробовать указать в head, DNS prefetch

    Комментировать
  • 1
    shevan215 cайт: wp-best.ru

    По скорости вряд ли что-то получишь, поэтому я бы не советовал делать все одинаковыми.

    Насколько понял, хочешь заменить дефолт картинку, если у пользователя нет своего аватара.

    По сути, ничего сложного, просто загружаешь свою картинку в каталог с темой, и заменяешь значение по умолчанию с помощью фильтра.

    Вот источник с готовым кодом http://wp-kama.ru/id_7590/lyuboj-avatar-po-umolchaniyu.html

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.