Как решить проблему с загрузкой изображений в медиафайлы из формы 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 );
}
}