会员在付费页点登录,登完被送到后台仪表盘,还得自己翻回去找原来那篇文章,体验断在这里,很别扭。第一次遇到会往复杂处想,其实漏掉的多是个小前提。
$login = wp_login_url(get_permalink()); <a href='<?php echo esc_url($login); ?>'>登录后继续</a>
登录链接没有带上回跳地址,或者登录后的重定向被过滤器统一改成了固定页面,回跳参数在中途丢掉了,用户只能自己找。这一点先确认清楚,后面就不用反复试。
碰到「WordPress 登录跳转丢失」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。
动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。
具体做法是,生成登录链接的时候就把回跳地址的参数拼上去;用官方函数来生成登录链接,不要自己手写地址;回跳之前先校验一遍地址属于本站,防止被人利用。
改完照着核一遍,从付费页点登录后回到同一篇文章,不再落到后台首页,流程顺了。
