Регистрация пользователей на сайте wordpress по ajax

Эдуард11 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
20.07.2021

Мне нужен код для регистрации пользователей на сейте вордпресс по ajax, форма во вспл окне.

Так же нужна аналогичная форма - забыли пароль, тож по ajax и во вспл окне.

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



if (is_user_logged_in()) { ?>

title="Вы вошли в систему">

title="Вы не вошли в систему">

}

// Ajax Login

function ajax_login_init(){

/* Подключаем скрипт для авторизации */

wp_register_script('ajax-login-script', get_template_directory_uri() . '/js/ajax-login-script.js', array('jquery') );

wp_enqueue_script('ajax-login-script');

/* Локализуем параметры скрипта */

wp_localize_script( 'ajax-login-script', 'ajax_login_object', array(

'ajaxurl' => admin_url( 'admin-ajax.php' ),

'redirecturl' => '/lichnyj-kabinet/',

'loadingmessage' => __('Проверяются данные, секундочку...')

));

// Разрешаем запускать функцию ajax_login() пользователям без привелегий

add_action( 'wp_ajax_nopriv_ajaxlogin', 'ajax_login' );

}

// Выполняем авторизацию только если пользователь не вошел

if (!is_user_logged_in()) {

add_action('init', 'ajax_login_init');

}

function ajax_login(){

// Первым делом проверяем параметр безопасности

check_ajax_referer( 'ajax-login-nonce', 'security' );

// Получаем данные из полей формы и проверяем их

$info = array();

$info['user_login'] = $_POST['username'];

$info['user_password'] = $_POST['password'];

$info['remember'] = true;

$user_signon = wp_signon( $info, false );

if ( is_wp_error($user_signon) ){

echo json_encode(array('loggedin'=>false, 'message'=>__('Неправильный логин или пароль!')));

} else {

echo json_encode(array('loggedin'=>true, 'message'=>__('Отлично! Идет перенаправление...')));

}

die();

}



if (!is_user_logged_in()) {

?>

Войти

Регистрация

Сброс пароля

(Х)

Заявки фрилансеров