Задать вопрос
@redesupar

Как отправить через CF7 чекбокс от ACF?

Делаю создание записи на фронте через плагин 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 ]);
}
  • Вопрос задан
  • 23 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы