Я новичок в Wordpress, и мне нужно создать пользовательскую форму регистра в wordpress. Я слышал, что он может работать с PHP и AJAX.
Мой код выглядит следующим образом в данный момент: (В файле шаблона)Пользовательская форма регистрации в wordpress
jQuery(document).on("click", '.create-account-btn', function(){
var inputEmpty = false;
jQuery(".input__field--yoko").not("[type=submit]").each(function() {
if (jQuery.trim(jQuery(this).val()).length == 0) inputEmpty = true;
});
if (inputEmpty){
alert('Please fill all fields in the register form');
} else {
$.ajax({
type: "post",
url: "functions.php",
dataType: 'json',
data: {
action: "registerAccount",
username: $("#account-username").val(),
password: $("#account-password").val(),
email: $("#billing_email").val()
},
success:function() {
alert("I'm created!");
},
error: function() {
alert("Oh no, error! :(");
}
});
}
return false;
});
(в файле functions.php)
function registerAccount() {
if (isset($_REQUEST)) {
$username = $_REQUEST['username'];
$password = $_REQUEST['password]';
$email = $_REQUEST['email'];
$user_id = wp_create_user($username, $password, $email);
if (is_int($user_id)) {
$wp_user_object = new WP_User($user_id);
}
}
die();
}
add_action('wp_ajax_registerAccount', 'registerAccount');
Проблема в том, я получаю функцию ошибки в запросе AJAX. Оба файла находятся в одном каталоге, знаете ли вы, что может быть плохо в этом коде?
С помощью Sagar мне удалось заставить его работать, поэтому он больше не выполняет функцию ошибки, теперь он вызывает функцию успеха, но учетная запись WordPress не создана, помогите мне пожалуйста.
вы не можете сделать запрос вы functions.php непосредственно Вы должны использовать WP-администратора-Аякса метод –