wordpresscontact-form-7

How to submit contact form 7 programmatically


I want to submit contact form by custom function The code below is getting the instance of form but when submitted. It submit the form but not the fields which I wanted.

$item = wpcf7_contact_form( $formId );
$result = $item->submit();

Here where I can pass the fields I define in admin panel like "textarea-123" & "email-234" ?


Solution

  • I did not get exact answer for what I look but I found the alternate solution.

    function cf7Submit($formId , $args) {
        $url = 'http://example.com/wp-json/contact-form-7/v1/contact-forms/'.$formId.'/feedback';
        $response = wp_remote_post( $url, array(
            'method'      => 'POST',
            'body'        => $args
            )
        );
    
        if ( is_wp_error( $response ) ) {
            $error_message = $response->get_error_message();
            echo "Something went wrong: $error_message";
        } else {
            echo 'Response:<pre>';
            print_r( $response );
            echo '</pre>';
        }
    }
    

    I can call this function like this:

    cf7Submit(128, array(
    'textarea-123' => 'test email',
    'email-234' => 'asd@asd.com'));