如何将用户重定向到上次查看的页面

时间:2021-10-02 作者:flexi2202

我目前正在使用wp成员wordpress插件。我刚刚了解到,他们没有将用户重定向到登录或注册后查看的最后一页的功能。。这有一个解决方案谢谢

2 个回复
SO网友:ScottM

试试这个。。。

function save_url_before_login() {
  if(!is_user_logged_in()) {
    $_SESSION[\'referer_url\'] = get_the_permalink();
}
add_action(\'wp\', \'save_url_before_login\');
以及:

function redirect_after_login() {
  $redirect_url = home_url(\'/\');
  if (isset($_SESSION[\'referer_url\'])) {
    $redirect_url = $_SESSION[\'referer_url\'];
    unset($_SESSION[\'referer_url\']);
  }
  return $redirect_url;
}
add_filter(\'login_redirect\', \'redirect_after_login\');

SO网友:tiago calado

我在函数上使用此代码。php

// redirects user after login and logout
if (! function_exists(\'ctm_login\')) {
    add_action(\'wp_login\', \'ctm_login\');
    function ctm_login(){wp_redirect($_POST[\'link\']);exit;}
}
if (! function_exists(\'ctm_logout\')) {
    add_action(\'wp_logout\', \'ctm_logout\');
    function ctm_logout(){wp_redirect($_POST[\'link\']);exit;}
}
然而,这是可行的,因为我在登录表单上隐藏了一个输入

<input type="hidden" name="link" value="<?php echo home_url(add_query_arg(array($_GET), $wp->request));?>">