Дублируется записи при добавлении в базу под wordpress

Есть сайт на wordpress, установлен плагин произвольных записей acf, своя тема и созданный кастомный тип записей отзывы. На странице запрашиваю от пользователя данные для публикации отзыва (имя, профессия, город, фото) и с помощью ajax переадресовываю на страницу, где заполняю необходимые поля и записываю в базу.

Запись создается, но, при этом публикуется дважды: первая без фото, вторая с. Грешу на то, что функции wp_insert_post и media_handle_upload дублируют другу друга, но не знаю как это обойти.

add_review.php

// Подключаем необходимые файлы 
require_once( $_SERVER['DOCUMENT_ROOT'].'/wp-load.php');
require_once( ABSPATH . 'wp-admin/includes/image.php' );
require_once( ABSPATH . 'wp-admin/includes/file.php' );
require_once( ABSPATH . 'wp-admin/includes/media.php' );

// Получение отправленных данных 
$user_name    = trim($_POST['name']);
$user_message = trim($_POST['message']);
$user_job = trim($_POST['job']);
$user_city = trim($_POST['city']);
$user_photo = trim($_FILES['photo']['name']);
$location = wp_upload_dir()['path']."/".$user_photo;
$post_data = array(
    'post_author'   => 1,
    'post_status'   => 'pending',               # статус - «На утверждении» 
    'post_type'     => 'reviews',               # тип записи - «Отзывы» 
    'post_title'    => 'Отзыв - ' . $user_name, # заголовок отзыва 
    'post_content'  => $user_message,           # текст отзыва 
    // 'tax_input' => ['{Название таксономии}' => array($review_type)], 
);

// Вставляем запись в базу данных 
$post_id = wp_insert_post( $post_data );

$attachment_id = media_handle_upload( 'photo', 0 );

update_field( 'review_name', $user_name, $post_id );      # имя 
update_field( 'review_job', $user_job, $post_id );        # профессия 
update_field( 'review_city', $user_city, $post_id );      # город 
update_field( 'review_photo', $attachment_id, $post_id );    # фото

js

$('#add_review').submit(function (e) {
    e.preventDefault();
    var photo = $('#review_file')[0].files[0];

    var formData = $(this).serializeArray();
    formData.push({photo: 'photo'});

    $.ajax({
        type: 'POST',
        url: '/wp-content/themes/credit7/includes/add_review.php',
        data: formData,
        success: function(data) {
            console.log('Спасибо. Ваш отзыв отправлен.',data);
            $(this).trigger('reset'); // очищаем поля формы 
        },
        error: function() { 
            console.log('Ошибка отправки.');
        }
    });
});

Ответы (0 шт):