阻止/阻止直接访问感谢页面

时间:2018-01-05 作者:turcospeed

如何防止/阻止直接访问感谢页面,仅在重定向后无法提交表单(在其他页面)时才进行访问?

2 个回复
最合适的回答,由SO网友:kero 整理而成

如果表单仅从一个页面重定向,则可以轻松使用wp_get_referer() 检查它,如果没有,则重定向。

add_action(\'template_redirect\', function() {
    // ID of the thank you page
    if (!is_page(12345)) {
        return;
    }

    // coming from the form, so all is fine
    if (wp_get_referer() === \'URL_OF_FORM\') {
        return;
    }

    // we are on thank you page
    // visitor is not coming from form
    // so redirect to home
    wp_redirect(get_home_url());
    exit;
} );

SO网友:Purna Chandra Sahoo

不知道为什么上面的代码对我不起作用。然而,下面的代码工作得很好。

<?php
    function thank_you_rd(){
        if ( ! is_page(\'thank-you\')) {
            return;
        }
        if (wp_get_referer() == \'/contact-us/\') {
            return;
        }
        wp_redirect( get_home_url() );
    }
    add_action(\'template_redirect\', \'thank_you_rd\');
?>

结束