你可能会惊讶于一个微小的改变会带来多大的不同,而当你不知道如何改变时,这样一个小功能又会给你带来多大的烦恼。
您可能已经注意到,用户登录后总是会被重定向到某个页面,而这对您的网站来说并不一定合理。用户登录后在哪里登陆对用户体验的影响可能比你想象的要大,可以节省他们的时间或防止混乱。
但要编辑这个不起眼的小功能,该从何下手呢?如果您想更改 WordPress 中的登录重定向页面,本教程将指导您使用插件或手动编写 PHP 代码。
为什么要在登录后重定向 WordPress 用户?
默认情况下,所有用户登录后都会被引导到管理仪表盘。虽然他们只能看到仪表板中他们有权访问的部分并与之互动(例如,订阅者只能编辑他们的个人资料),但这并不总是理想的行为。
根据你运行的网站类型,将新登录发送到其他地方可能更有意义。您甚至可能希望将不同角色的用户完全重定向到不同的页面(管理员重定向到仪表板,用户重定向到主页,等等)。
举几个例子说明你可能想更改的内容:
- 将用户直接导向主页,避免与后端进行任何交互。
- 将用户发送到他们的公开资料页面。
- 让用户返回登录前的页面。
- 对于会员制网站,将登录的用户发送到锁定文章或视频的页面。
- 对于论坛,将用户发送到主论坛页面。
- 对于电子商务网站,将购物者发送到商店页面、他们的愿望清单、购物车等。
许多主题和插件也会改变这一点。也许您已经注意到,用户在登录时突然被重定向到主页,因此想把它改回来。
虽然这只是一个很小的用户体验元素,许多网站可能永远不会注意到或改变它,但它却能对用户产生出人意料的巨大影响,让用户在浏览网站时不再那么迷茫。
遗憾的是,WordPress 没有内置更改登录重定向页面的设置。如果您想把用户发送到其他地方,就必须使用插件或自己编写代码。
如何在 WordPress 用户登录后重新定向
准备好进行这一微小而重要的更改了吗?您有两个选择: 下载一个插件,或者修改网站代码。
自己编写代码肯定有一些优点。如果你精通 PHP,就能完全控制登录重定向的操作。你不需要依赖那些可能无法满足你需要的插件,也不需要用更多的插件来拖累你的网站。
另一方面,并不是每个人都懂代码,一行错误的代码可能会把网站搞得一团糟,因此不建议初学者手动处理。插件更容易使用,而且不需要反复试验就能确保代码正常工作。
使用插件重定向
插件是一种只需简单设置就能快速完成任务的方法。在这里,我们挑选了三个最好的插件,供你用来编辑登录重定向 URL。
具有这种功能的插件并非只有这些;例如,WPForms(及其用户注册表单插件)和 WP User Manager 也提供登录重定向以及其他功能。
有些主题也会更改重定向页面,但很难专门搜索到有这种功能的主题。
但这三个插件主要用于登录重定向。它们的文件很小,不会添加任何不必要的功能。
LoginWP
LoginWP
第一个插件是 LoginWP,它可以为特定用户和角色设置重定向规则,还可以更改用户注册重定向。
专业版可以与十多个不同的插件集成,最显著的是可以让你将用户重定向到他们登录的页面。如果你想实现这一目标,要么付费,要么试试其他插件。
不过,LoginWP 可以免费使用,而且功能强大,重定向规则简单。
要开始使用,请从插件 > 安装插件中安装 LoginWP,然后在侧边栏中查找新的 LoginWP 菜单项目。导航至 LoginWP > Redirections。
使用 LoginWP 插件设置重定向规则。
这里有多个设置可以更改,但请查看 All Other Users 标题和 Login URL 选项。将其更改为你想要的 URL,然后点击 Save Changes。这将适用于所有登录用户。
如果要设置有条件的 URL 重定向,比如针对某些用户角色呢?在这种情况下,单击 Add New 按钮设置重定向规则。您可以根据单个用户、角色,甚至可能跨越多个角色的某些用户能力来设置规则。
使用 LoginWP 插件建立条件规则。
设置 Order,以便在两条规则发生冲突时,优先选择数字最小的规则。然后在 Login URL 框中输入要重定向的网址,点击 Save Rule。
就这么简单。您可以使用这些规则让管理员不受全局重定向规则的限制,或将某些用户引导至特殊页面。
Sky Login Redirect
Sky Login Redirect
作为一款免费插件,Sky Login Redirect 功能非常强大。它可以让你设置重定向规则,自定义登录页面的外观,并启用一些小的调整,如自动选中 “记住我 ”框或删除页面上的某些链接。
专业版与 WooCommerce 或 Easy Digital Downloads 等多个插件集成,还增加了内容限制等额外的可选功能。
安装 Sky Login Redirect 后,请访问新的 Login Redirect 链接,确保您位于 Redirects 选项卡上。单击 Add Entry 开始操作。
在 Sky Login Redirect 插件中设置重定向登录和注销。
选择是否重定向所有用户、特定用户或特定角色。然后选择是将登录和注销重定向到前一页、特定页面/URL,还是只重定向到 WordPress 管理页面。
拖放规则可更改重定向规则的执行顺序(例如当用户有多个角色时)。数字越小,优先级越高,因此先设置特定用户的规则,最后再设置一般规则。
完成后,单击右上角的 Save Changes。
如果你想制定针对用户或角色的规则,你还需要设置一个额外的规则来适用于其他用户,即使只是保持默认的重定向到管理页面的行为。
WP Login and Logout Redirect
WP Login and Logout Redirect
如果您正在寻找最简单、最小的插件,那么 WP Login and Logout Redirect 可能就是您的不二之选。你可能对其他两个插件提供的任何额外功能都不感兴趣,而这个插件则直奔主题。
安装后,你会在侧边栏发现新的 Redirect Options 菜单。点击它,你会看到两个方框:Login Redirect URL 和 Logout Redirect URL。输入你想要的 URL,然后点击 Save Changes,就大功告成了。
WP Login and Logout Redirect 插件中的重定向选项。
该插件还增加了一项额外功能: 在 Users > All Users 中,你会看到一个新的 Last Login,它会显示用户最后登录的日期和时间。这是一个小而精的额外功能。
使用自定义代码重定向
如果您不想使用插件,或者插件不适合您,或者您想做一些插件无法处理的事情,那么您可能需要编写自己的自定义代码。只建议高级用户和熟悉 PHP 的用户这样做。当然,如果不放心,也可以聘请开发人员。
在插入和执行代码前,应备份网站,以防万一。如果出了问题,比如进入维护模式或陷入无尽的重定向循环,可以随时恢复备份。
要编写自己的自定义重定向代码,应先熟悉 login_redirect 过滤器。本页将解释该过滤器的工作原理,并在注释中提供了一些应用这些知识的示例。
下面是一个非常简单的示例:
function custom_login_redirect() { return 'home_url()'; } add_filter('login_redirect', 'custom_login_redirect');
这段代码将使所有用户在登录网站时重定向到主页。这就是它的作用!如果您愿意,可以将 “home_url()” 改为您选择的 URL。例如,将 “home_url()” 改为 “/blog”,用户就会跳转到网站的博客页面。
代码已经写好了,该放在哪里呢?您有两个选择: 第一种是直接编辑主题文件,第二种是使用插件插入代码。
如果您选择编辑主题文件,您应该先制作一个子主题,否则下次 WordPress 或主题更新时,您可能会发现重定向规则突然消失了。
虽然您可以通过 FTP 或代码编辑器编辑 WordPress 文件,但这并非必要。WordPress 自带文件编辑器,就在您的仪表板中。从外观 > 主题文件编辑器开始。在右侧的主题文件侧边栏中,查找主题函数文件(functions.php)并点击它。滚动到底部,将上述代码放入其中。然后点击更新文件。
之后,退出并重新登录进行测试。一切都应按预期运行。
如果你不想处理子主题,一个更简单的方法是安装一个可以插入代码的插件。为此,我们将使用 Code Snippets。
Code Snippets
这样做的一大好处是,如果你想编辑代码或快速禁用代码,将非常容易找到。每个代码片段都包含在自己的页面中,易于访问。
安装代码片段插件,然后前往 Snippets > Add New。确保您在 Functions 选项卡上,然后粘贴您的代码或我们的示例。将其保持在 Run snippet everywhere 状态。完成后 Save Changes 并 Activate。
使用 Code Snippets 插件添加新片段。
无论你选择哪种方法,都会发现新的登录规则运行完美。
但这不仅会影响你自己,也会影响其他人,所以一定要小心谨慎,并确保测试你的新规则。
小结
用户体验是网页设计的重要组成部分。它看似并不重要,但用户登录时最终进入的页面却会产生重大影响。您可以利用它将用户引导到您希望他们去的地方,或者防止混乱,节省他们的时间。
如果 WordPress 的默认登录重定向规则不合适,您可以手动或使用插件自行设置。后者最简单,但每种方法都有其优点。