Супербыстрый хостинг на SSD от 165р в месяц   •   Реклама
913 просм
7 комм
Поделиться:

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

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

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

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

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;

?>

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

7
комментариев
Гостям запрещено участвовать в обсуждениях сайта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Проверенный  |  4

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

6.05 в 22:46
  • 0
Администратор  |  735

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

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

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

6.05 в 22:42
  • 0
Проверенный  |  4

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

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

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

6.05 в 22:37
  • 0
Администратор  |  735

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

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

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

6.05 в 22:32
  • 0
Проверенный  |  4

Сайт на WordPress

6.05 в 22:26
  • 0
Администратор  |  735

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

6.05 в 22:22
  • 0
Проверенный  |  4

Добрый день

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

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

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

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

6.05 в 21:01
  • 0
Подняться наверх
«Pandoge» - помощник веб-мастера