我有一个WordPress网站,任何人都可以查看某些/大多数网页(未登录)。但是,用户可以请求拥有自己的专用页面,因此我设置了一个只能由特定人员访问的页面,然后通过电子邮件将URL发送给他们。他们点击电子邮件中的URL并通过登录链接发送他们的页面。一旦登录成功,我希望用户回到他们的私人页面,但目前他们只是在他们的个人资料页面结束。如何在登录后将WordPress用户重定向到上一页
如何在登录后将用户重定向到他们的私人页面?
我已经尝试了很多不同的代码位,但没有一个适用于这种情况。
我目前的代码如下。但是这只是将用户返回到登录页面(即使登录成功)。
// Function to redirect after login
add_filter('login_redirect', 'redirect_previous_page', 10, 1);
function redirect_previous_page($redirect_to){
global $user;
$request = $_SERVER["HTTP_REFERER"];
if (in_array($user->roles[0], array('administrator'))) {
return admin_url();
} elseif (in_array($user->roles[0], array('subscriber'))) {
return $request;
}
return $redirect_to;
}
感谢您的支持。不幸的是,它不适用于我的用例。每个用户都有自己的专用页面,因此重定向到通用页面将无济于事。我怎么才能重定向到上一页? – timhuk
使用http_referer的问题是它将重定向到最后一页,当调用此函数时,最后一页是登录页面。所以你最终将用户发送回登录屏幕。用户私人页面的网址是什么?我改变了上面的例子,举一个你可以做什么的更好的例子 –
私人网页的网址类似于:mysite.co.uk/?page_id=77。每个用户一页。 – timhuk