You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress移动端首页重定向脚本失效问题求助

解决WordPress仅首页启用移动端重定向的问题

看起来你的核心问题是WordPress的条件判断没生效,导致所有页面都加载了重定向脚本。我来帮你一步步排查和修复:

1. 问题根源:条件判断逻辑过于严格

你用的is_front_page() && is_home()在大多数场景下都不会正确触发:

  • is_front_page()指向你设置的静态首页
  • is_home()指向博客文章列表页
    只有当你完全没设置静态首页(首页默认显示博客)时,这两个条件才会同时成立。如果设置了静态首页,这两个条件只会满足其中一个,要么导致脚本完全不加载,要么(更可能的是)因为WordPress初始化顺序问题,条件判断失效,脚本被全局加载。

2. 最稳妥的修复方案:直接判断请求路径

跳过WordPress条件标签的坑,直接用请求URI判断是否为首页,这个方法不受任何设置影响:

<?php
// 仅根路径(首页)加载重定向脚本
if ( trim( $_SERVER['REQUEST_URI'], '/' ) === '' ) {
    echo '<script type="text/javascript" src="/js/redirection-mobile.js"></script><script type="text/javascript">// <![CDATA[ SA.redirection_mobile ({ mobile_url : "m.piccolo.co.il", }); // ]]></script>';
}
?>

这里用trim($_SERVER['REQUEST_URI'], '/') === ''精准判断当前访问的是站点根目录,不管你是静态首页还是博客首页,都能准确识别。

3. 确保代码放置位置正确

把这段代码放在主题header.php的<head>标签内部,且在wp_head();调用之后,比如:

<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <?php wp_head(); ?>
    <?php
    // 移动端重定向脚本(仅首页)
    if ( trim( $_SERVER['REQUEST_URI'], '/' ) === '' ) {
        echo '<script type="text/javascript" src="/js/redirection-mobile.js"></script><script type="text/javascript">// <![CDATA[ SA.redirection_mobile ({ mobile_url : "m.piccolo.co.il", }); // ]]></script>';
    }
    ?>
</head>

不要把代码放在header.php最顶部(WordPress核心逻辑还没加载的位置),否则$_SERVER变量可能无法正确获取值。

4. 排查缓存干扰

如果你用了缓存插件(比如WP Rocket、W3 Total Cache),一定要清空所有缓存再测试。缓存插件可能会把首页的脚本缓存到其他页面,导致全局加载重定向脚本。

额外小优化:解决HTTPS混合问题

虽然你说这不是当前核心问题,但可以顺便把脚本URL改成相对路径,自动适配HTTP/HTTPS:

src="/js/redirection-mobile.js"

这样不管你的主站是HTTP还是HTTPS,脚本都会用相同协议加载,避免浏览器的混合内容警告。

验证方法

修改后:

  1. 访问首页http://piccolo.co.il,查看页面源代码,确认重定向脚本存在
  2. 访问其他页面(比如http://piccolo.co.il/contact/),查看源代码,确认脚本不存在

这样就能确保只有首页会触发移动端重定向了。

内容的提问来源于stack exchange,提问作者Joni Dee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:08:17