Артём Мáлков

Как вывести URL-адрес аватара авторизованного пользователя в WordPress?

25 июн7 комм

Видел много различных плагинов, готовых шорткодов, которые выводят аватар (личное фото из профиля) в виде готового изображения.

Но бывают случаи, когда вам не нужно получать целое изображение, а лишь ссылку, которую в последующем вы обработаете нужным вам образом. Плагины не решают эту задачу, но я покажу, как можно самому без особого труда ее решить.

Для этого напишем свою маленькую функцию:

function get_url_avatar_user() {

	if(is_user_logged_in()) {
	
		global $current_user;

		get_currentuserinfo();

		$avatar = get_avatar($current_user->ID, 270);
		$avatar_arr = explode('"', $avatar);

		return $avatar_arr[1];

	}
	
}

add_shortcode("user-avatar-url", "get_url_avatar_user");

Ее вы вставляете в файл functions.php, который находится в папке вашей темы. Параметр «270» здесь – это ширина возвращаемого изображения в пикселях.

Использование (вывод URL аватара) следующее:

<?php
	
	$avatar = do_shortcode('[user-avatar-url]');
	
	echo "Ссылка на ваш аватар: ".$avatar;

?>

Этот код вы вставляете в нужное место в файлы вашей темы, по желанию – с добавлением сопутствующей информации, как в примере выше.

Рекомендуем к просмотру
Свой размер для миниатюр в WordPress
Статьи и советы
Получаем превью изображения, добавленного через плагин Advanced Custom Fields в WordPress
Статьи и советы
Вывод аватара и ссылки на автора поста в WordPress
Статьи и советы
7
комментариев
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 1
    4
      •  Проверенный
    6 мая в 22:46

    Спасибо, попробую)

    • 1
    1066
      •  Команда Pandoge
    6 мая в 22:42

    Андрей, не совсем. Сделайте другую логику на основе той статьи.

    Когда человек входит на сайт (или обновляет страницу) - обновляйте время его последнего визита (в php это time()). Далее, проверяйте это время. Если прошло меньше 3 минут (например) - значит он еще на сайте, если больше - значит отошел.

    По коду выйдет намного красивее и компактнее.

    • 1
    4
      •  Проверенный
    6 мая в 22:37

    Нашел такой код. Но там ошибка, "сессия не уничтожается". https://codyshop.ru/sozdanie-indikatora-prisutstviya-polzovatelya-na-sayte/

    Создаем метаполе каждому юзеру. При входе на сайт, пишем в него значение true, то есть, пользователь на сайте, а при выходе false. Для отображения индикатора получаем значения этого поля.

    У вас не по такому же принципу?

    • 1
    1066
      •  Команда Pandoge
    6 мая в 22:32

    Андрей, у нас не WP.

    В вашем случае (на счет подписки) посмотрите в сторону плагина Subscribe to Comments.

    На счет статуса - нужно посмотреть как устроены профили на Вашем сайте.

    • 1
    4
      •  Проверенный
    6 мая в 22:26

    Сайт на WordPress

    • 1
    1066
      •  Команда Pandoge
    6 мая в 22:22

    Андрей, здравствуйте. Какая CMS у Вашего сайта?

    • 1
    4
      •  Проверенный
    6 мая в 21:01

    Добрый день

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

    1) Подскажите, как сделать статус онлайн / офлайн у пользователей как на вашем сайте?

    2) И очень полезная функция подписки на комментарии. Это плагин или можно кодом это сделать?

    Заранее благодарю

Подняться наверх
«Pandoge» - помощник вебмастера