如何创建Peter的登录重定向的用户/角色登录页面的链接

时间:2015-11-25 19:37:09

标签: php wordpress redirect login login-control

我在Wordpress中使用彼得的登录重定向将每个用户/角色重定向到其个人页面"。

这一切都很有效,但我想创建一个链接,任何用户都可以点击该链接并重定向回其登录重定向页面。

现在,当用户登录时会转到他们的“个人页面”,但是当点击另一个链接时,就无法再回到它。

2 个答案:

答案 0 :(得分:1)

您应该能够使用插件中的redirect_to_front_page($redirect_to, $requested_redirect_to, $user)。它主要用作login_redirect过滤器的一部分,因此您可以在其中查看有关参数的更多信息。要在此过滤器之外使用,您可以执行以下操作,传入false以获取重定向URL并检测是否通过您的规则更新。

$user_id = get_current_user_id();
$user =  get_user_by( 'id', $user_id );
if ( false !== ( $redirect_url = redirect_to_front_page( false, false, $user ) ) ){
    // $redirect_url is the custom URL
} else {
    // there is no custom URL
}

答案 1 :(得分:-1)

为了解决这个问题,我在functions.php中添加了一些代码,以便能够在小部件中运行PHP代码。

这是我添加到functions.php

的代码
add_filter('widget_text','execute_php',100);
function execute_php($html){
     if(strpos($html,"<"."?php")!==false){
          ob_start();
          eval("?".">".$html);
          $html=ob_get_contents();
          ob_end_clean();
     }
     return $html;
}

在此之后,我只需添加HTML / PHP代码即可创建一个链接,将当前用户重定向到其个人页面。我将此代码放在应该在用户登录我正在使用的登录小部件插件时显示的文本中。

<a href="<?php echo redirect_to_front_page( false, false, wp_get_current_user()); ?>">Your Page</a>

这就是它。如果有必要对我所做的事情做出更多解释,请在下面发表评论。