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

Как получить фотографию пользователя по ссылке на профиль ВКонтакте

Здравствуйте.

У меня на сайте есть страничка отзывов. оформлена она как простая запись №1 к которой все могут оставлять модерируемые отзывы (т.е. коменты)

вот как выглядит среднестатистический отзыв:

Отзыв

тут мы видим, что барышня, оставившая отзыв - оставила так же сслку на профиль в соцсети. Можно ли как то задать отзыву аватарку, такую же, как и аватарка в ее соцсети (в данном случае - вконтакте)

Если не на автомате, так вручную это можно как то сделать? Хотябы плагином?
Потому что сейчас отзывы выглядят, мягко скажем... не очень [Ссылка]

Спасибо.

0
adward5 2.1 года назад
  • 0
    Kama4697

    Чтобы получить фото, в ВК есть открытые методы АПИ, которые отдают информацию о пользователе, в том числе и фотографию.

    Написал функцию, которая получает фотку:

    ## Получает фотографию пользователя ВКонтакте по ссылке на профиль пользователя
    function get_vkuser_photo( $vkurl ){
    	// получим VK ID
    	$vkid = preg_match('~vk\.com/(?:id)?([^/?]+)~', $vkurl, $m );
    	$vkid = $m[1];
    
    	$vkapi_url = 'https://api.vk.com/method/users.get?fields=photo_100&user_id='. $vkid;
    
    	$res = file_get_contents( $vkapi_url );
    
    	return json_decode( $res )->response[0]->photo_100;
    }
    
    // Использование
    echo get_vkuser_photo('http://vk.com/id1805381');
    // Получим: http://cs625729.vk.me/v625729381/3e722/GAIRpsAsNwk.jpg

    Результат возможно лучше сохранять (кэшировать), чтобы каждый раз запрос не отправлялся - это будет загрузку страницы тормозить: средняя скорость обработки одной ссылки на этом сервере - 0.06134 сек.

    adward 2.1 года назад

    Ну, спасибо, в общем то. За кусок кода.
    Только если по существу, в идеале, по сути, этот код должен быть в несколько раз больше. Потому как люди могут оставлять ссылки на свой профиль в одноклассниках, в фейсбуке, твиттере, моем мире и инстаграме. А может даже и в гуглплюсе.

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

    Но решения - нет, однозначно. Я искал.

    Kama 2.1 года назад

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

    Это да... Тут плагин можно создавать, туда же и кэш впихивать и разные соц.сети.

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

    Есть плагин WP Social Avatar для получения аватарки из Facebook и Google+, можно посмотреть частично решение

    Комментировать
  • 0
    Otshelnik-Fm185 cайт: otshelnik-fm.ru

    А почему не дадите пользователям комментировать через uLogin? И изобретать велосипед не надо

    adward 2 года назад

    потому что некоторые коменты добавляются вручную. админом.

    FensterTeam 2 года назад

    ха, ха. Накрутка ?

    adward 2 года назад

    Представьте, есть живой человек, оставил запись ручками в книге отзывов в клинике. Админ эту запись сфоткает и добавит сам, что тут непонятного то?

    Otshelnik-Fm 2 года назад

    а причем тут тогда вопрос про фото из соцсетей? У вас в бумажной книге отзывов оставляют урл на свой профиль? я вот его не знаю - меня если спроси...

    Если уж админ прикрепляет фоту - одну или две - ему какая разница? Первая - отзыв, вторая - фотка из соцсети.

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