autologin в wordpress при входе в не-wp-сайт

Скажем, у меня есть веб-сайт abc.com без WordPress, на котором установлена ​​Wordpress на abc.com/news.

Как я могу интегрировать мою систему входа в систему без WordPress на abc.com с установкой WordPress на abc.com/news, чтобы, если пользователь входит в abc.com, а затем просматривает abc.com/news, он уже зарегистрирован в abc .com / новости?

Solutions Collecting From Web of "autologin в wordpress при входе в не-wp-сайт"

Не тестировалось, но попробуйте сделать запрос по почте через ajax. Файл, который вы вызываете через ajax, должен выглядеть примерно так:

require( dirname(__FILE__) . '/wp-load.php' ); $user = filter_input( INPUT_POST, FILTER_SANITIZE_STRING ); $pass = filter_input( INPUT_POST, FILTER_SANITIZE_STRING ); is_wp_error( wp_signon( array( 'user_login'=>$user, 'user_password'=>$pass ) ) ) ? die( -1 ) : die( 0 ); 

Поместите этот код в файл (например, ajax-login.php) и назовите его vai ajax. Затем WordPress должен установить cookie для предоставления доступа.

Существует два основных метода, с помощью которых можно

  1. Пусть wordpress обрабатывает все входные / выходные данные пользователя и загружает ядро ​​wordpress для проверки входа пользователя в систему
  2. Пусть другая система обрабатывает свой собственный логин, а затем проверит проверку WordPress для переменной (запрашиваемой форматированной) $_SESSION или $_COOKIE и зарегистрирует пользователя на основе этого.

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