Делаю создание записи на фронте через плагин contact-form7 и столкнулся с 2 проблемами
1. Как отправить в успешном сообщении айди созданного поста?
2. Почему чекбокс не идёт в запись, а через почту отправляется?
на первый вопрос думаю как то сделать через ajax, но опять же вопрос как мне дергать результат и отправлять через functions.php
add_action( 'wpcf7_before_send_mail', 'created_post_in_cf7' );
function created_post_in_cf7( $contact_form ) {
$title = $_POST['company-title'] && ! empty( $_POST['company-title'] ) ? sanitize_text_field( $_POST['company-title'] ) : '';
$product = $_POST['company-product'] && ! empty( $_POST['company-product'] ) ? wp_strip_all_tags( $_POST['company-product'] ) : '';
$video = $_POST['company-video'] && ! empty( $_POST['company-video'] ) ? sanitize_text_field( $_POST['company-video'] ) : '';
$stoimost = $_POST['company-stoimost'] && ! empty( $_POST['company-stoimost'] ) ? wp_strip_all_tags( $_POST['company-stoimost'] ) : '';
$budjet = $_POST['company-budjet'] && ! empty( $_POST['company-budjet'] ) ? sanitize_text_field( $_POST['company-budjet'] ) : '';
$datastart = $_POST['company-data-start'] && ! empty( $_POST['company-data-start'] ) ? wp_strip_all_tags( $_POST['company-data-start'] ) : '';
$dataend = $_POST['company-data-end'] && ! empty( $_POST['company-data-end'] ) ? sanitize_text_field( $_POST['company-data-end'] ) : '';
$tematiki_kanalov = $_POST['$tematiki_kanalov'] && ! empty( $_POST['$tematiki_kanalov'] ) ? sanitize_text_field( $_POST['$tematiki_kanalov'] ) : '';
$ars = [
'post_type' => 'company',
'post_title' => $title,
'post_status' => 'pending',
'meta_input' => [
'product' => $product,
'video' => $video,
'tematiki_kanalov' => $tematiki_kanalov,
'stoimost' => $stoimost,
'bjudzhet' => $budjet ,
'data_nachala' => $datastart,
'data_konca' => $dataend,
'status' => 'obrabotka', ],
];
$post_id = wp_insert_post( $ars );
$mail = $contact_form->prop('mail');
if ( false !== $post_id ) {
$mail['subject'] = $mail['subject'] .' Создана запись №'. $post_id;
}
$contact_form->set_properties(['mail' => $mail ]);
}