Передать id юзера в acf_form( );
Нужно получить id юзера и только после этого создать от его имени пост, попутно не перезагружая страницу в момент логина или регистрации
$.ajax({
type: 'POST',
url: ajaxscript.ajax_url,
data: {
action: 'ajaxlogin',
username: 'Mevzu113341',
user_email: '[email protected]',
new_user_email: '[email protected]',
password: 'Aa1357aa' },
success: function(data){
$.ajax({
type: 'POST',
url: ajaxscript.ajax_url,
data:{
user_email: '[email protected]',
},
success: function(body){
console.log(body)
$('input[value="Submit Book"]').click()
}
})
},
error: function(data){
$('input[value="Submit Book"]').click()
}
})
Это AJAX запрос в function.php
Вот сам код с function.php:
$user_signon = wp_signon( $info, false );
if ( is_wp_error($user_signon) ){
$new_user_name = $_POST['username'];
$new_user_email = $_POST['user_email'];
$new_user_password = $_POST['password'];
$user = get_user_by( 'email', $new_user_email );
$userId = $user->ID;
$user_data = array(
'user_email' => $new_user_email,
'user_pass' => $new_user_password,
'user_login' => 'user',
'role' => 'author'
);
$user_id = wp_insert_user($user_data);
if (!is_wp_error($user_id)) {
// echo 'we have Created an account for you.';
$credentials = array(
'user_login' => $new_user_email,
'user_password' => $new_user_password,
);
wp_signon( $credentials );
$userS = get_user_by( 'email', $new_user_email );
$userIDs = $userS->ID;
echo $userIDs;
} else {
if (isset($user_id->errors['empty_user_login'])) {
$notice_key = 'User Name and Email are mandatory';
wp_signon($user_data);
print_r($user_id);
} elseif (isset($user_id->errors['existing_user_login'])) {
$credentials = array(
'user_login' => $new_user_email,
'user_password' => $new_user_password,
);
wp_signon( $credentials );
$userS = get_user_by( 'email', $new_user_email );
$userIDs = $userS->ID;
echo $userIDs;
} else {
echo'Error Occured please fill up the sign up form carefully.';
}
}
} else {
echo 'error';
}
код страницы на которой присутствует acf_form();
if(is_user_logged_in()){
$current_user_id = get_current_user_id();
$new_post = array(
'post_id' => 'new_post',
'post_author' => $current_user_id,
'field_groups' => array(452, 470), // Used ID of the field groups here.
'post_title' => true, // This will show the title filed
'post_content' => false, // This will show the content field
'form' => true,
'new_post' => array(
'post_type' => 'post',
'post_status' => 'draft' // You may use other post statuses like draft, private etc.
),
'return' => '%post_url%',
'submit_value' => 'Submit Book',
);
} else{
$new_user_email = $_POST['user_email'];
$user = get_user_by( 'email', $new_user_email );
$userId = $user->ID;
$new_post = array(
'post_id' => 'new_post',
'post_author' => $userId,
'field_groups' => array(452, 470), // Used ID of the field groups here.
'post_title' => true, // This will show the title filed
'post_content' => false, // This will show the content field
'form' => true,
'new_post' => array(
'post_type' => 'post',
'post_status' => 'draft' // You may use other post statuses like draft, private etc.
),
'return' => '%post_url%',
'submit_value' => 'Submit Book',
);
}
acf_form( $new_post);
мне нужно после получения id юзера в function.php отправить его в acf_form(); Всем заранее спасибо за ответы