如何阻止/阻止直接访问感谢页面,只有在从一个表单(在不同的页面中)中重定向时才能访问?
我应该在下一个链接
中插入此方法add_action('template_redirect', function(){
if ( ! is_page(12345)) {// ID of the thank you page
return;
}
if (wp_get_referer() == 'URL_OF_FORM') {// coming from the form, so all is fine
return;
}
// we are on thank you page
// visitor is not coming from form
// so redirect to home
wp_redirect( get_home_url() );
}
非常感谢!
答案 0 :(得分:0)
让我们说你的第一页是page1.php并包含以下代码
<form action="page2.php" method="post">
<input type="text" name="blabla">
<input type="submit">
</form>
现在,当用户输入表单值时,将重定向到page2.php,然后在这里使用代码查看用户是否已通过表单或输入链接。你可以通过php中的isset()
来实现这一点<?php
if(isset($_POST['blabla']))
{
//process your code
}
else
{
echo "Session Expired<br>";
echo "Click <a href='./page1.php'>here</a> to fill the form";
}
?>
答案 1 :(得分:0)
只需在感谢页面上添加以下代码顶部即可。这是最有效的&amp;紧凑的代码,以满足您的要求。
<?php
if(empty($_POST)):
wp_redirect( home_url() );
exit;
endif;
?>
注意:wp_redirect()
不会自动退出。始终在exit;
功能后使用wp_redirect()
。