Redirect in contact from 7

 /** Redirect Tab In Contact Form 7 Start */

// custom tab

add_filter('wpcf7_editor_panels', 'cf7_add_redirect_panel');

function cf7_add_redirect_panel($panels) {

    $panels['redirect-panel'] = array(

        'title' => __('Redirect Settings', 'cf7'),

        'callback' => 'cf7_redirect_panel_callback'

    );

    return $panels;

}


// panel content

function cf7_redirect_panel_callback($post) {

    $form_id = $post->id();

    $selected_page = get_post_meta($form_id, '_cf7_redirect_page', true);

    $pages = get_pages();

?>

<div class="cf7-redirect-wrap">

    <h2>Select Redirect Page</h2>

    <p>If selected, user will be redirected after form submission.</p>

    <select name="cf7_redirect_page">

        <option value="" <?php selected($selected_page, ''); ?>>

            No Redirect

        </option>


        <?php foreach ($pages as $page) { ?>

            <option value="<?php echo esc_attr($page->ID); ?>"

                <?php selected($selected_page, $page->ID); ?>>

                <?php echo esc_html($page->post_title); ?>

            </option>

        <?php } ?>

    </select>

</div>

<?php

}


// save settings page value

add_action('wpcf7_save_contact_form', 'cf7_save_redirect_page');

function cf7_save_redirect_page($contact_form) {

    if (!isset($_POST['cf7_redirect_page'])) {

        return;

    }


    $page_id = sanitize_text_field($_POST['cf7_redirect_page']);

    update_post_meta(

        $contact_form->id(),

        '_cf7_redirect_page',

        $page_id

    );

}


// redirect script

add_action('wp_footer', 'cf7_redirect_script');

function cf7_redirect_script() {

?>

<script>

document.addEventListener('wpcf7mailsent', function(event) {

    var formID = event.detail.contactFormId;


    <?php

    $forms = get_posts(array(

        'post_type' => 'wpcf7_contact_form',

        'numberposts' => -1

    ));


    foreach ($forms as $form) {

        $page_id = get_post_meta($form->ID, '_cf7_redirect_page', true);

        if ($page_id) {

            $url = get_permalink($page_id);

            echo "if(formID == {$form->ID}) { window.location.href = '{$url}'; }";

        }

    }

    ?>

}, false);

</script>

<?php

}

/** Redirect Tab In Contact Form 7 End */

Popular posts from this blog

MCSL 216 MCA NEW Practical ~ common questions suggestions

jitsi

Dev Cheatsheet