gpt4 book ai didi

javascript - Wordpress wp_signon() 在 ajax 调用中不起作用

转载 作者:行者123 更新时间:2023-12-03 02:58:40 25 4
gpt4 key购买 nike

我正在尝试在 AJAX 调用中构建 WordPress 的服装登录。我从 PHP 函数中删除了 wp_signon() ,我确实得到了正确的回显。但后来我添加了 wp_signon() 它总是以 HTML 形式返回我的整个登录页面。我看不出我做错了什么。并且无法登录。

请帮忙!

js

$.ajax({
method: 'POST',
url: '/wp-admin/admin-ajax.php',
dataType: 'json',
data: {
'action': 'getLoggedIn',
'user_name': user_name,
'user_password': user_password,
'user_remember': user_remember
},
success: function(response) {

if (response === 'ok') {
window.location = '/app/';

}

},
error: function(){}
});

PHP

function getLoggedIn() {

global $wpdb;

// Check if users is already logged in
if ( is_user_logged_in() ) {
echo 'You are already logged in';
die;
}

//We shall SQL escape all inputs
$username = $wpdb->escape($_REQUEST['user_name']);
$password = $wpdb->escape($_REQUEST['user_password']);
$remember = $wpdb->escape($_REQUEST['user_remember']);

$creds = array();
$creds['user_login'] = $username;
$creds['user_password'] = $password;
$creds['remember'] = $remember;
$user_signon = wp_signon( $creds, false );

// Check if error
if ( is_wp_error($user_signon)) {
echo $user_verify->get_error_code();
exit();
} else {
echo 'ok';
exit;
}

die();
}

add_action('wp_ajax_getLoggedIn', 'getLoggedIn');
add_action('wp_ajax_nopriv_getLoggedIn', 'getLoggedIn');

最佳答案

问题不在于 wp_signon() 函数。这是另一个 WordPress 操作,在用户登录失败后重定向页面。这:

add_action( 'wp_login_failed', 'login_failed' );

关于javascript - Wordpress wp_signon() 在 ajax 调用中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47508414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com