Как решить проблему с загрузкой изображений в медиафайлы из формы Contact form 7?

Написал код, который отправляет данные с формы Contact form 7 в кастомный тип записи reviews. Все отлично работает, кроме загрузки изображений в медиафайлы, при этом никаких ошибок нет. Пример кода:

add_action( 'wpcf7_before_send_mail', 'my_custom_submit_function' );

function my_custom_submit_function( $contact_form ) {
    include_once ABSPATH . 'wp-admin/includes/media.php';
    include_once ABSPATH . 'wp-admin/includes/file.php';

    if ( $contact_form->id() !== 392 ) {
        return;
    }

    $submission = WPCF7_Submission::get_instance();
    if ( $submission ) {
        $posted_data = $submission->get_posted_data();
    }

    $required_fields = [ 'your-name', 'your-message' ];
    foreach ( $required_fields as $field ) {
        if ( empty( $posted_data[ $field ] ) ) {
                return;
        }
    }

    $review = array(
        'post_type' => 'reviews',
        'post_title' => $posted_data['your-name'],
        'post_content' => $posted_data['your-message'],
        'post_status' => 'draft',
    );
    $review_id = wp_insert_post( $review );

    $file = media_handle_sideload( array(
        'name' => 'your-photo',
        'tmp_name' => $posted_data['your-photo'],
    ), $review_id );
    if ( !is_wp_error( $file ) ) {
        set_post_thumbnail( $review_id, $file );
    }
}

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