首页 > 解决方案 > 强制 WordPress 在登录后始终重定向到自定义位置,即使已经设置了 redirect_to

问题描述

我有一台运行 WordPress 4.9.9 和 PHP 7.2 的服务器。

我正在尝试在用户登录后重定向用户。

为了实现这一点,我基本上是这样做的:

function admin_default_page() {
  return '/new-dashboard-url';
}

add_filter('login_redirect', 'admin_default_page');

当您登录此 URL 时效果很好:

/wp-login.php

redirect_to如果已在查询字符串中设置,则它不起作用:

/wp-login.php?redirect_to=some-place

我也尝试了wp_login钩子以防万一,但如果redirect_to在查询字符串中设置它甚至不会触发。

add_action('wp_login', 'admin_default_page');

/new-dashboard-url无论查询字符串中可能设置或未设置什么,如何让 WordPress 在登录后始终重定向到。

目前,如果redirect_to在查询字符串中设置了将登录页面重定向到 self 以将其删除,我正在绕过它,但在我看来,这就是 - 一个 hack。

我不禁认为,无论设置如何,两者login_redirect都有效。wp_loginredirect_to

这些钩子的行为最近是否发生了变化,还是我做错了?

标签: phpwordpressredirect

解决方案


推荐阅读