Как сохранить данные в произвольном типе записи в WordPress перед отправкой электронного письма? - PullRequest
0 голосов
/ 07 июня 2019

У меня проблема в Wordpress.Я хочу подключиться к контактной форме 7, чтобы, когда пользователь нажимает кнопку «Отправить», он сначала сохранял эту информацию в пользовательском типе сообщения.

Читая документацию, я нашел это

// запустить действие do_action ('wpcf7_before_send_mail', $ contact_form);

// define the wpcf7_before_send_mail callback 
function action_wpcf7_before_send_mail( $contact_form ) { 

    //code

}; 

// add the action 
add_action( 'wpcf7_before_send_mail', 'action_wpcf7_before_send_mail', 10, 1 ); 

Но я не знаю, как продолжить.Кто-нибудь сделал это, и не могли бы вы мне помочь, пожалуйста?

1 Ответ

0 голосов
/ 07 июня 2019
function action_wpcf7_before_send_mail( $contact_form ) { 

    $post_content = ''; // empty contebt
    foreach ($_REQUEST as $key => $value) {
        $post_content .= $key.': '.$value.'
        '; //add each form field to content
    }

    $title = $_REQUEST['some field'].' '.$_REQUEST['some field2']; // generate dynamic title

    $t = time();
    $thash = md5($t);

    $my_query = array(
        'post_title'    => wp_strip_all_tags( $title ),
        'post_content'  => $post_content,
        'post_type' => 'your-post-type',
        'post_name' => $thash,
        'post_status'   => 'publish',
        'post_author'   => 1
    );
    $data = wp_insert_post( $my_query );


    return $contact_form;
}; 

// add the action 
add_action( 'wpcf7_before_send_mail', 'action_wpcf7_before_send_mail', 10, 1 ); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...