Пришедший из настоящего
Постоялец
- Регистрация
- 22 Июн 2013
- Сообщения
- 69
- Реакции
- 24
Ну поехали. Для того что бы подключить любую другую социальную сеть необходимо отредактировать 4 файла
1. В файле youzer\includes\logy\includes\admin\core\settings\logy-settings-social-login.php найти
2. В файле youzer\includes\logy\includes\public\core\functions\logy-social-functions.php найтии после вставитьPHP:case 'twitchtv': // Init Vars. $apps_url = 'https://dev.twitch.tv/console/apps/create'; $auth_url = home_url( '/?action=yz-social-login&provider=TwitchTV' ); // Get Steps. $steps[] = sprintf( __( '1. Go to <a href="%1s">%2s</a>', 'youzer' ), $apps_url, $apps_url ); $steps[] = __( '2. Fill out any required fields such as the application name and Category.', 'youzer' ); $steps[] = __( '3. Put the below url as OAuth redirect_uri Authorized Redirect URLs:', 'youzer' ); $steps[] = sprintf( __( 'Redirect Url: <strong><a>%s</a></strong>', 'youzer' ), $auth_url ); $steps[] = __( '4. Once you have registered, copy the created application credentials ( Client ID and Secret ) .', 'youzer' ); return $steps;
PHP:case 'vkontakte': // Init Vars. $apps_url = 'https://vk.com/editapp?act=create'; $auth_url = home_url( '/?action=yz-social-login&provider=Vkontakte' ); // Get Steps. $steps[] = sprintf( __( '1. Go to <a href="%1s">%2s</a>', 'youzer' ), $apps_url, $apps_url ); $steps[] = __( '2. Fill out any required fields such as the application name and Category.', 'youzer' ); $steps[] = __( '3. Put the below url as OAuth redirect_uri Authorized Redirect URLs:', 'youzer' ); $steps[] = sprintf( __( 'Redirect Url: <strong><a>%s</a></strong>', 'youzer' ), $auth_url ); $steps[] = __( '4. Once you have registered, copy the created application credentials ( Client ID and Secret ) .', 'youzer' ); return $steps;
3. В файле youzer\includes\logy\includes\public\assets\css\logy.cssи добавить в список 'Vkontakte', что бы получилось такPHP:function logy_get_providers() { return apply_filters( 'logy_providers_list', array( 'Facebook', 'Twitter', 'Google', 'LinkedIn', 'Instagram', 'TwitchTV' ) ); }
Какой порядок стоит здесь, в таком порядки они будут отображаться и на странице логина и настройках YouzerPHP:function logy_get_providers() { return apply_filters( 'logy_providers_list', array( 'Vkontakte', 'Facebook', 'Twitter', 'Google', 'LinkedIn', 'Instagram', 'TwitchTV' ) ); }
2.1 В этом же файле, найти
PHP:$data = array( 'Facebook' => array( 'app' => 'id', 'icon' => 'fab fa-facebook-f' ), 'Twitter' => array( 'app' => 'key', 'icon' => 'fab fa-twitter' ), 'Google' => array( 'app' => 'id', 'icon' => 'fab fa-google' ), 'LinkedIn' => array( 'app' => 'id', 'icon' => 'fab fa-linkedin-in' ), 'Instagram' => array( 'app' => 'id', 'icon' => 'fab fa-instagram' ), 'TwitchTV' => array( 'app' => 'id', 'icon' => 'fab fa-twitch' ) );
и добавить
Что бы получилось такPHP:'Vkontakte' => array( 'app' => 'id', 'icon' => 'fab fa-vk' )
PHP:$data = array( 'Facebook' => array( 'app' => 'id', 'icon' => 'fab fa-facebook-f' ), 'Twitter' => array( 'app' => 'key', 'icon' => 'fab fa-twitter' ), 'Google' => array( 'app' => 'id', 'icon' => 'fab fa-google' ), 'LinkedIn' => array( 'app' => 'id', 'icon' => 'fab fa-linkedin-in' ), 'Instagram' => array( 'app' => 'id', 'icon' => 'fab fa-instagram' ), 'TwitchTV' => array( 'app' => 'id', 'icon' => 'fab fa-twitch' ), 'Vkontakte' => array( 'app' => 'id', 'icon' => 'fab fa-vk' ) );
4. В файле youzer\includes\logy\includes\public\assets\css\logy.min.cssКак я понимаю в любом месте добавить
Код:.logy-vkontakte-btn a { background-color: #5181b8; }
Надеюсь ничего не упустил и доходчиво написал. Строки в файлах не писал так как могут отличаться, у меня версия 2.3.9Сделать тоже самое
Код:.logy-vkontakte-btn a{background-color:#5181b8}
Список всех провайдеров можно посмотреть youzer\includes\public\core\hybridauth\Provider
В моей версии hybridauth стоял старой версии, я его отдельно обновил, появилось больше провайдеров. Но я думаю того что там есть, хватит с головой.
По аналогии можно подключить любого доступного провайдера, ничего сложного, главное не забывать ставить запятую, если добавлять провайдера, и в конце убирать. Иконки смотреть на fontawesome.
Ах ну да, приложение то создать сами сможете? Или тоже написать? Скажу что платформа приложения - сайт. Для других соц. сетей по поводу приложений искать инфу в интернете по запросу к примеру yandex oauth 2.0, battle net developer и тд
Если что спрашивай подскажу че дак как. Нет пришли свою папку приложения, отредактирую ее. Насчет подтягивания аватарок и имени и почты. Именно на примере вк. У меня стоит активация по почте, не знаю можно ли отключить, не разбирался. Письмо приходит, мыло отлично подхватывает из профиля вк. Логин устанавливает ид страницы. например id12346489, если не установлено или если у человека устанвлен кастомный линк, то подхватит его в качестве логина. Имя так же отлично подхватывает и устанавливает его в профиле WP. А вот аватарки не подхватывает, не разбирался с этим еще. Либо вк поменяли API доступ к аватаркам, либо нет доступа у приложения к фоткам. В любом случае надо копать в сторону hybridauth. И особенность плагина или я хз чего. Если у тебя есть уже акк на сайте, то ты можешь залогиниться одной кнопкой будьто гугл, вк или к примеру твич, если они у тебя зареганы на эту же почту.
Дружище, спасибо огромное за такой подробный гайд!!
Всё действительно очень доходчиво! Без тебя точно бы не разобрался
Всё работает, кнопку входа/регистрации привязал
У меня также: мыло подхватывает, письмо присылает, но при заполнении профиля автоматически подставляет только поле "Имя", а остальные (страна, ДР, почта и так далее) пользователю самому надо вбивать
И какие-то системные ошибки вылазили (может обновление поможет)
Но ничего, главное, что основное начало положено!