WordPress 移动端页面自动重定向到 MIP 独立域名

张子凡 WordPress建站 2018-02-05 16:39:02 阅读(...) 评论(7)

WordPress MIP 解决方法目前有通过 UA 用户代理判断的方式和独立域名的方式来使用 MIP 主题,子凡所开发的 Fanly MIP 主题就是如此,所以其中就会有一些用户青睐于使用独立域名的方式,而又希望原站点在通过移动设备访问时能够自动跳转到独立 MIP 域名上,所以今天子凡就给大家带来了这个解决方案。

WordPress Redirect

自从子凡最开始推出 WordPress MIP 主题的独立域名绑定解决方案后,总会隔三差五的被询问到该如何将移动页面自动跳转到绑定的 MIP 域名上,其实本来 MIP 绑定独立域名的方式就是形成独立 MIP 站点,跳转似乎就变得没有意义,当时同样为了拥有对实际用户的访问实现一个更好的访问体验,移动页面到 MIP 独立站点的跳转似乎也显得有点意思了。

所以为了满足和解决有这方面需求和强迫症的用户,子凡决定还是简单的弄个跳转代码,毕竟这也算是解决了一个用户需求吧。

使用方法依旧是将一下代码放置在当前主题的 functions.php 文件中:

1
2
3
4
5
6
7
8
9
10
11
// WordPress 移动端页面重定向到 MIP 独立域名
add_filter('get_header', 'fanly_redirect_to');
function fanly_redirect_to(){
    if(wp_is_mobile()&&!is_admin()){
        global $wp;
        $new_url = '';//新 URL,例如 https://mip.zhangzifan.com
        $url = get_option('permalink_structure')== ''?add_query_arg($wp->query_string,'',home_url($wp->request)):home_url(add_query_arg(array(),$wp->request));
        wp_redirect( str_replace(home_url(),$new_url,$url), 302 );
        exit;
    }
}

在代码的第 6 行需要在两个单引号中填写完整的独立 MIP 站点域名,且结尾不包含/,以上的代码中是以使用的是 302 临时跳转状态,如果有需要的话你也可以修改第 8 行代码中的 302 改成 301 永久重定向状态码也是可以的,全看个人需求。

同时需要说明的是,如果你原来站点已经使用 UA 的方式实现了移动端页面,那么代码就应该添加到移动端主题的代码中,如果你的自适应主题,当然也就是自适应主题了。

总之最后的效果就是你使用移动设备,例如手机或者平板电脑访问原站点,都会自动跳转到以上代码中你自行设定的新域名,所以以上代码不仅仅是用于 MIP 站点的跳转,甚至可以作为 WordPress 整站的改版跳转和重定向都是完全可以的。

除非注明,否则均为泪雪博客原创文章,转载请以链接形式标明本文地址

本文链接:https://zhangzifan.com/wordpress-redirect.html

发表评论

  1. 5G云虚拟主机
    1楼
    5G云虚拟主机 5个月前 (03-08)

    请问一下 mip怎么做出来哦,我在站点找了半天没找到

    • 张子凡
      回复
      张子凡 5个月前 (03-08)
      回复 @5G云虚拟主机 :根据mipengine.org提供的开发规范开发即可。
  2. 小鱼
    2楼
    小鱼 6个月前 (02-06)

    这个功能是通过nginx的网站conf文件里实现好还是通过wordpress的functions.php里实现好呢?

    • 张子凡
      回复
      张子凡 6个月前 (02-06)
      回复 @小鱼 :其实都一样,通过nginx配置来跳转效率会略高一点,因为不用WordPress程序都不用运行就跳转了。
  3. 屌炸天
    3楼
    屌炸天 6个月前 (02-06)

    新春佳节到。祝好!祝好!

    • 张子凡
      回复
      张子凡 6个月前 (02-06)
      回复 @屌炸天 :感谢,也祝你新年快乐哈!
  4. 明月登楼
    4楼
    明月登楼 6个月前 (02-06)

    这个不错,赞一个先!