我目前有一个在Wordpress上运行的网站,其中安装了Wishlist Member插件来控制网站的会员功能。目前,如果非成员尝试访问需要成员资格的页面,则会将其重定向到带有“注册”子弹的页面,注册用户可以通过标题中的登录表单登录任何页面并被定向到一个带有slug'member-dashboard'的页面。
我希望实现的目标(插件无法为我提供设施)是为了让登录的用户有机会在登录前直接返回他们正在查看的页面(这将是通过页面'member-dashboard'上的链接。但是,我需要能够考虑它们是否已被注册页面引用并将它们有效地返回2页。我还需要考虑他们是否未能正确登录。
我通过网络搜索了解了一些解决方案,但这些解决方案都没有做到。这是我到目前为止(请善待 - 我知道这是垃圾)
<?php if (strstr( $_SERVER['HTTP_REFERER'],"www.mydomain.co.uk/sign-up/" ) && is_page(9)) { ?>
<a href="#" onclick="window.history.go(-2);">Go back 2 pages as referred by 'sign-up'</a>
<? } elseif (is_page(9)) { ?>
<?php
$url = htmlspecialchars($_SERVER['HTTP_REFERER']);
echo "<a href='$url'>Go back 1 page as referred by another page</a>";
?>
<? } ?>
我很清楚这是无稽之谈,而且我不应该使用Java解决方案(这不会保留用户在提供页面2页面时已登录的事实)或HTTP_REFERER(以及PHP也需要整洁,但它应该证明我至少在实现之后是什么。此代码在Wordpress的page.php中,因为插件的代码已加密,因此无法使用此代码。
我猜我应该设置某种会话变量,以便最好地完成我在这个实例中需要做的事情,但我必须诚实 - 我没有设法发现任何东西在这方面似乎对我有所帮助。有人能够至少指出我正确的方向吗?非常感谢:)