Ich benutze register_new_user($user_login, $user_email)
für die Registrierung von Benutzern auf meiner Wordpress-Website. Aber sein gibt mir Fehler wieWordpress Registrieren Neue Benutzerfunktion gibt Fehler
{ "Fehler": true, "message": { "Fehler": { "registerfail": [ "Fehlende Sicherheit Token von Unterwerfung."]} "ERROR_DATA": [
Ich habe auch wp_nonce_field für die Sicherheit in meiner Form verwendet. Kann mir jemand helfen, diesen Fehler zu beheben "Fehlendes Sicherheitstoken von der Übermittlung."
Hier ist mein HTML FORM `
<form id="registration_form" action="<?php echo home_url('/'); ?>" method="POST">
<div class="form-field">
<span class="screen-reader-text"><?php _e('Username', 'wp-ajax-login'); ?></span>
<input class="form-control input-lg required" name="pt_user_login" type="text" placeholder="<?php _e('Username', 'wp-ajax-login'); ?>" />
</div>
<div class="form-field">
<span class="screen-reader-text"><?php _e('Email', 'wp-ajax-login'); ?></span>
<input class="form-control input-lg required" name="pt_user_email" id="pt_user_email" type="email" placeholder="<?php _e('Email', 'wp-ajax-login'); ?>" />
</div>
<div class="form-field">
<input type="hidden" name="action" value="pt_register_member"/>
<button class="btn btn-theme btn-lg" data-loading-text="<?php _e('Loading...', 'wp-ajax-login') ?>" type="submit"><?php _e('Sign up', 'wp-ajax-login'); ?></button>
</div>
<?php wp_nonce_field('ajax-register-nonce','user-register-security'); ?>
</form>
AJAX CODE:
// Get Variablen
$user_login = $_POST['pt_user_login'];
$user_email = $_POST['pt_user_email'];
// Check CSRF token
if(!check_ajax_referer('ajax-register-nonce', 'user-register-security', false)){
echo json_encode(array('error' => true, 'message'=> '<div class="alert alert-danger">'.__('Session token has expired, please reload the page and try again', 'wp-ajax-login').'</div>'));
die();
}
// Check if input variables are empty
elseif(empty($user_login) || empty($user_email)){
echo json_encode(array('error' => true, 'message'=> '<div class="alert alert-danger">'.__('Please fill all form fields', 'wp-ajax-login').'</div>'));
die();
}
$errors = register_new_user($user_login, $user_email);
if(is_wp_error($errors)){
//Display errors
}
`
können Sie den Code zeigen, was haben Sie noch getan (vor allem die HTML für das Formular registrieren) – Yamu
@Yamu bitte überprüfen, bearbeitet meine Frage – Arslan
können Sie Ihre ajax functions.php Code? – vel