我在functions.php
中使用以下函数来检查数据库中是否存在用户名
function check_username() {
$username = $_POST['user'];
if ( username_exists( $username ) ) {
$return['user_exists'] = true;
}
else {
$return['user_exists'] = false;
}
echo json_encode($return);
die();
}
add_action('wp_ajax_check_username', 'check_username');
问题是username_exists()
函数似乎只有在用户已登录并检查用户名时才有效。我试图在没有登录的情况下检查现有用户名,它只为我返回undefined
。
我不知道为什么会发生这种情况,也无法找到有关此问题的任何文档。
我的问题是,如何让用户无需登录即可检查用户是否存在?
由于
答案 0 :(得分:2)
试试这个
function check_username() {
$username = $_POST['user'];
if ( username_exists( $username ) ) {
$return['user_exists'] = true;
}
else {
$return['user_exists'] = false;
}
echo json_encode($return);
die();
}
add_action('wp_ajax_check_username', 'check_username');
add_action( 'wp_ajax_nopriv_check_username', 'check_username' );
wp_ajax_check_username - 匿名/未登录的访问者
wp_ajax_nopriv_check_username - 登录用户