Регистрация пользователей на сайте wordpress по ajax
Мне нужен код для регистрации пользователей на сейте вордпресс по 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()) {
?>
Войти
Регистрация
Сброс пароля
(Х)
Заявки фрилансеров
