WordPress如何修改代码实现/zum-shop/页面按登录状态跳转
WordPress跳转功能调整方案
核心优化点
- 路径校验逻辑优化:通过
parse_url提取纯路径部分精准匹配/zum-shop/,避免URL携带查询参数、或者其他嵌套路径包含/zum-shop/字符串时误触发跳转 - 安全优化:替换
wp_redirect为WordPress官方推荐的wp_safe_redirect安全跳转函数,规避恶意跳转风险 - 逻辑简化:将重复的路径校验合并,代码可读性更高
- 明确跳转状态码:默认设置302临时跳转状态,若确认规则长期有效可自行修改为301永久跳转提升SEO效果
调整后完整代码
add_action('init','redirect_to_shop'); function redirect_to_shop() { // 提取当前访问的纯路径,排除查询参数干扰 $current_path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); // 仅匹配精准访问/zum-shop/的场景 if ($current_path === '/zum-shop/') { if (is_user_logged_in()) { // 已登录用户跳转至商店页 wp_safe_redirect('/shop/', 302); exit; } else { // 未登录用户跳转至账户页 wp_safe_redirect('/mein-konto/', 302); exit; } } }
替换代码前建议先备份functions.php文件,若修改后站点报错可通过FTP恢复备份文件。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

