wordpress免插件判断移动设备

今天准备写一下移动浏览器主题的,但是由于效果不太理想,所以暂时不放出来献丑了,先给一段免插件判断移动设备的代码吧

这是一段php通用的判断移动浏览器的函数,原理比较简单,就是判断浏览器返回的user_agent,条件包括手机系统,品牌和窗口大小.
以wordpress为例,在主题的function.php内加上如下代码,我找了一些常见移动浏览器的useragent,其中有很多国内流行的手机浏览器,基本上可以涵盖可能会用手机上网的用户群了..

function is_mobile() {
	$user_agent = $_SERVER['HTTP_USER_AGENT'];
	$mobile_browser = Array(
		"mqqbrowser", //手机QQ浏览器
		"opera mobi", //手机opera
		"juc","iuc",//uc浏览器
		"fennec","ios","applewebKit/420","applewebkit/525","applewebkit/532","ipad","iphone","ipaq","ipod",
		"iemobile", "windows ce",//windows phone
		"240x320","480x640","acer","android","anywhereyougo.com","asus","audio","blackberry","blazer","coolpad" ,"dopod", "etouch", "hitachi","htc","huawei", "jbrowser", "lenovo","lg","lg-","lge-","lge", "mobi","moto","nokia","phone","samsung","sony","symbian","tablet","tianyu","wap","xda","xde","zte"
	);
	$is_mobile = false;
	foreach ($mobile_browser as $device) {
		if (stristr($user_agent, $device)) {
			$is_mobile = true;
			break;
		}
	}
	return $is_mobile;
}

然后在主题任意模板如顶部加上如下判断:

<?php if (is_mobile() ): ?>
	怎样怎样..(这里可以添加一个mobile.css,如<link rel="stylesheet" type="text/css" media="all" href="<?php echo get_template_directory_uri(); ?>/mobile.css" />)
<?php endif ;?>

关于制作移动设备主题的注意事项我会在以后更新…

LIKE OR SHARE IT:

admin发表于Code目录下,标签为,转载请保留链接

TOP DOWN
发表评论

您必须 [ 登录 ] 才能发表留言!

  1. 沙 发 郑永

    先占个沙发,曾经研究过。。呵呵。

    二月 14, 2013 20:52:16
    • 小蝴蝶

      @郑永 现在手机上网的越来越多了,要开始重视啦,本来我的小站没什么人看,也就没搞这些东西..

      101室 二月 15, 2013 00:15:45
      • 郑永

        @小蝴蝶 @小蝴蝶 : 我那里也没什么人,我站已经有这个功能。

        102室 二月 15, 2013 02:41:11
        • 小蝴蝶

          @郑永 你那里是没什么人,都是神…我知道,我用手机看过哈~我用这段函数获取主题不成功,头都晕了,你帮忙看看是哪里的问题哈,
          add_filter(‘template’, ‘mobile_get_theme’);
          add_filter(‘stylesheet’, ‘mobile_get_theme’);
          function mobile_get_theme($theme) {
          if ( is_mobile() ):
          $theme = ‘twentytwelve’;
          endif;
          return $theme;
          }

          103室 二月 15, 2013 02:44:59
  2. 板 凳 AngeliSoul

    :han: 我的主题好像自动兼容手机平板…

    二月 15, 2013 13:11:46
  3. 地 板 一号站长

    没考虑过兼容移动设备,移动设备的流量极少,忽略了,娱乐应用站得多考虑移动设备

    二月 15, 2013 14:52:25
    • 小蝴蝶

      @一号站长 我原先也一直没考虑过,觉得兼容这个就像兼容IE6一样可有可无,不过有时间的话弄一下也好,毕竟有的人会用手机看,用户体验会好一点哈

      301室 二月 15, 2013 15:00:21
  4. 地 毯 零落千起

    我的主题自动兼容诺基亚(塞班)/ios/安卓,不兼容Windows phone…现在用了个手机主题插件,才都兼容了

    二月 15, 2013 17:42:32
  5. 地 面 我的名字叫麒

    百度siteapp支持这个

    二月 16, 2013 16:45:18
  6. 地 下 Android

    WP-Touch Pro飘过…要不要来一份

    二月 16, 2013 22:30:31
  7. 7 楼 Arch!tect

    :guzhang: nice
    小蝴蝶最漂亮

    二月 17, 2013 08:20:58
  8. 8 楼 纽曼希尔

    你们就折腾吧,WP早晚被你们折腾的成为世界上最牛X的网站程序拉到! :xiao:

    二月 17, 2013 16:00:23
  9. 9 楼 郑永

    发一篇微博通的wordpress插件吧,呵呵,折腾。。

    二月 19, 2013 03:19:10
    • 小蝴蝶

      @郑永 @郑永 : 微博连接那个插件折腾了我一天 :shock: ,它的原理基本上是这样的:在functions.php里用wp_strlen判断字符长度,一个中文算2,英文算1,然后挂到wp_status钩子,以限制字数减去保留的url长度再来截取content,但可能它挂的钩子太多了,单独移植截断函数到wbto论坛那个插件就行不通…

      901室 二月 19, 2013 18:09:15
  10. 10 楼 ixwebhosting

    很好的分享,详细而自然,棒棒的,支持了

    二月 19, 2013 09:48:08
  11. 11 楼 胡倡萌

    这个功能对于主题开发的人来说,的确是非常棒的!之前似乎也在某个主题中看到类似的判断

    二月 23, 2013 13:37:59
    • 小蝴蝶

      @胡倡萌 恩恩 这个适用于所有php程序,你可以用在你的手机主题里哦,还有关于手机主题的css,我那天参考了几个手机主题,发现比较关键的一句是顶部的<meta name=”viewport” content=”width=device-width”/> 如果没有这一句,会导致手机上看字很小

      1101室 二月 23, 2013 15:28:26
  12. 12 楼 公子

    对于这种可以不用插件实现的功能我是极度喜欢的。。。 :lol:

    二月 25, 2013 18:57:42
  13. 13 楼 所谓刚子

    我用的方法貌似和这个不一样

    二月 27, 2013 21:35:00
  14. 14 楼 xsinger

    这个是wp版的,te可以吗?看代码,貌似也行啊! :roll:

    三月 11, 2013 10:47:46
  15. 15 楼 sky

    还是比较有用的,以后等不想用插件了再折腾了

    五月 17, 2013 17:27:18
  16. 16 楼 tiandi

    这个看上去很全啊。

    七月 8, 2013 11:16:23
  17. 17 楼 kn007

    想到响应式。。。

    七月 21, 2013 20:15:30
  18. 18 楼 arens

    为什么该方法在我的主题里没有反应?CSS也设置了,完全没有效果

    八月 19, 2013 19:09:35
  19. 19 楼 大头蛋

    如果是IPAD之类的捏

    九月 21, 2013 12:03:56
  20. 20 楼 百家网络博客

    更新了没?加载另一个主题代码是什么?

    十二月 27, 2013 20:42:08
  21. 21 楼 WindyLiu

    求教博主怎么判断手机后加载另一个主题。

    二月 13, 2014 10:53:26
  22. 22 楼 ilikecss

    是客户端的吧?
    不过用判断还是挺好的,如果我在手机里不想展示的模块如果来隐藏?不通过CSS来做

    四月 21, 2014 15:50:51
    • 小蝴蝶

      @ilikecss 这篇是很早以前写的了,判断手机ua还可以用wp_is_mobile,通过php实现不想展示的就不输出

      2201室 四月 21, 2014 17:10:01
  23. PingBacks: 1