【问题标题】:Redirecting multiple users to different pages将多个用户重定向到不同的页面
【发布时间】:2015-09-04 07:56:13
【问题描述】:

我正在尝试根据他们的user_Iduser_login 将多个用户重定向到不同的页面。但是每次我登录时,它都会将我带到第二个用户。我该如何解决?

例如:当user X 登录时我想重定向到Page X,当User Y 登录时我想为所有用户加载page Y 相同

对于第一个用户

add_filter('woocommerce_login_redirect', 'wc_login_redirect_2nd');
function wc_login_redirect_2nd( ) {
 $user_info = get_userdata(9100010);
if ($user_id == 0) {
  $redirect_to = 'http://example.com/'.$user_info->user_login.'/';
 return $redirect_to;

} }

为第二个用户

 add_filter('woocommerce_login_redirect', 'wc_login_redirect');
function wc_login_redirect( ) {
 $user_info = get_userdata(9100008);
if ($user_id == 0) {
  $redirect_to = 'http://example.com/'.$user_info->user_login.'/';
 return $redirect_to;

} }

【问题讨论】:

  • 我能否指出,将wc_login_redirect_2nd() 用于1st 用户和wc_login_redirect() 用于2nd 用户非常令人困惑。跨度>
  • @kittykittybangbang 我正在尝试当 userX 登录时我想重定向到 pageX,当 userY 登录时加载 PageY
  • 您不想使用两个过滤器挂钩。你只想要一个。老实说,我可以确切地告诉你如何做到这一点,但我需要知道你是如何识别哪个用户的?
  • @incredimike 谢谢!我想通过user_nameemailUser_id来识别用户

标签: php wordpress woocommerce


【解决方案1】:

您绝对不需要 2 个函数。如果您真的需要它,而我还看不到您这样做,您可以简单地在函数内部使用一些条件逻辑。另请注意,woocommerce_login_redirect 过滤器中有 2 个变量可供您使用。

add_filter('woocommerce_login_redirect', 'wc_login_redirect', 10, 2);
function wc_login_redirect( $redirect, $user ) {
    return 'http://example.com/'.$user_info->user_login; 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多