在使用Ajax API时,如果要使Ajax回调对未登录的用户可用,则需要添加2个操作,"wp_ajax_{$action}" 和"wp_ajax_nopriv_{$action}".
仅使用第一个操作,将仅为已登录的用户调用回调,仅使用第二个操作,将仅为未登录的访问者调用回调。
尝试以下操作:
function check_username() {
$uname = filter_input( INPUT_POST, \'user\', FILTER_SANITIZE_STRING );
wp_send_json( array(
\'user_exists\' => get_user_by( \'login\', $uname ) ? \'true\' : \'false\'
) );
}
add_action(\'wp_ajax_check_username\', \'check_username\');
add_action(\'wp_ajax_nopriv_check_username\', \'check_username\');