Разобрался, необходимо в файл function.php, в моем случае это temlate-fucntion.php, добавить функцию, в которой я обрабатываю запросы
$_POST и добавляю поля в мною зарегистрированный пост.
Пример:
function add_applicant_post_callback() {
$title = sanitize_text_field(stripslashes($_POST['title'])) ?? '';
$email = sanitize_text_field($_POST['email']) ?? null;
$phone = sanitize_text_field($_POST['phone']) ?? null;
// create data for new post
$post_data = array(
'post_title' => sanitize_text_field( $title ),
'post_status' => 'publish',
'post_author' => 1,
'post_type' => 'applicant',
);
// create post
$post_id = wp_insert_post( wp_slash($post_data), true );
// checking a post for creation
if( is_wp_error($post_id) ){
wp_send_json_error($post_id->get_error_message());
} else {
require_once(ABSPATH . 'wp-admin/includes/image.php');
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/media.php');
update_field( 'email', $email, $post_id );
update_field( 'phone', $phone, $post_id );
}
wp_send_json_success();
}
add_action( 'wp_ajax_nopriv_add_applicant', 'add_applicant_post_callback' );
add_action( 'wp_ajax_add_applicant', 'add_applicant_post_callback' );
И чтобы добавить в произвольное текстовое поле данные используем
update_field().
wp_ajax_nopriv_add_applicant - необходим для отправки данных для не зарегистрированных пользователей.