WordPress UserAgent代码版
发布时间:2025-10-22 16:49:44 本站作者 【 字体:大 中 小 】 浏览:4 次
非插件实现显示评论者所用的浏览器和操作系统类型。该精简版原作者为MUFENG
将UserAgent集成到你的主题中。下面是极简无图版介绍:
首先将下面的get_useragent()函数代码加入到functions.php模板中
<?php function get_browsers($ua){ $title = 'unknow'; $icon = 'unknow'; if (preg_match('#MSIE ([a-zA-Z0-9.]+)#i', $ua, $matches)) { $title = 'Internet Explorer '. $matches[1]; if ( strpos($matches[1], '7') !== false || strpos($matches[1], '8') !== false) $icon = 'ie8'; elseif ( strpos($matches[1], '9') !== false) $icon = 'ie9'; elseif ( strpos($matches[1], '10') !== false) $icon = 'ie10'; else $icon = 'ie'; }elseif (preg_match('#Firefox/([a-zA-Z0-9.]+)#i', $ua, $matches)){ $title = 'Firefox '. $matches[1]; $icon = 'firefox'; }elseif (preg_match('#CriOS/([a-zA-Z0-9.]+)#i', $ua, $matches)){ $title = 'Chrome for iOS '. $matches[1]; $icon = 'crios'; }elseif (preg_match('#Chrome/([a-zA-Z0-9.]+)#i', $ua, $matches)) { $title = 'Google Chrome '. $matches[1]; $icon = 'chrome'; if (preg_match('#OPR/([a-zA-Z0-9.]+)#i', $ua, $matches)) { $title = 'Opera '. $matches[1]; $icon = 'opera15'; if (preg_match('#opera mini#i', $ua)) $title = 'Opera Mini'. $matches[1]; } }elseif (preg_match('#Safari/([a-zA-Z0-9.]+)#i', $ua, $matches)) { $title = 'Safari '. $matches[1]; $icon = 'safari'; }elseif (preg_match('#Opera.(.*)Version[ /]([a-zA-Z0-9.]+)#i', $ua, $matches)) { $title = 'Opera '. $matches[2]; $icon = 'opera'; if (preg_match('#opera mini#i', $ua)) $title = 'Opera Mini'. $matches[2]; }elseif (preg_match('#Maxthon( |/)([a-zA-Z0-9.]+)#i', $ua,$matches)) { $title = 'Maxthon '. $matches[2]; $icon = 'maxthon'; }elseif (preg_match('#360([a-zA-Z0-9.]+)#i', $ua, $matches)) { $title = '360 Browser '. $matches[1]; $icon = '360se'; }elseif (preg_match('#SE 2([a-zA-Z0-9.]+)#i', $ua, $matches)) { $title = 'SouGou Browser 2'.$matches[1]; $icon = 'sogou'; }elseif (preg_match('#UCWEB([a-zA-Z0-9.]+)#i', $ua, $matches)) { $title = 'UCWEB '. $matches[1]; $icon = 'ucweb'; }elseif(preg_match('#wp-(iPhone|Android)/([a-zA-Z0-9.]+)#i', $ua, $matches)){ // 1.2 增加 wordpress 客户端的判断 $title = 'wordpress '. $matches[2]; $icon = 'wordpress'; } return array( $title, $icon ); } function get_os($ua){ $title = 'unknow'; $icon = 'unknow'; if (preg_match('/win/i', $ua)) { if (preg_match('/Windows NT 6.1/i', $ua)) { $title = "Windows 7"; $icon = "windows_win7"; }elseif (preg_match('/Windows NT 5.1/i', $ua)) { $title = "Windows XP"; $icon = "windows"; }elseif (preg_match('/Windows NT 6.2/i', $ua)) { $title = "Windows 8"; $icon = "windows_win8"; }elseif (preg_match('/Windows NT 6.3/i', $ua)) { $title = "Windows 8.1"; $icon = "windows_win8"; }elseif (preg_match('/Windows NT 6.0/i', $ua)) { $title = "Windows Vista"; $icon = "windows_vista"; }elseif (preg_match('/Windows NT 5.2/i', $ua)) { if (preg_match('/Win64/i', $ua)) { $title = "Windows XP 64 bit"; } else { $title = "Windows Server 2003"; } $icon = 'windows'; }elseif (preg_match('/Windows Phone/i', $ua)) { $matches = explode(';',$ua); $title = $matches[2]; $icon = "windows_phone"; } }elseif (preg_match('#iPod.*.CPU.([a-zA-Z0-9.( _)]+)#i', $ua, $matches)) { $title = "iPod ".$matches[1]; $icon = "iphone"; } elseif (preg_match('#iPhone OS ([a-zA-Z0-9.( _)]+)#i', $ua, $matches)) {// 1.2 修改成 iphone os 来判断 $title = "Iphone ".$matches[1]; $icon = "iphone"; } elseif (preg_match('#iPad.*.CPU.([a-zA-Z0-9.( _)]+)#i', $ua, $matches)) { $title = "iPad ".$matches[1]; $icon = "ipad"; } elseif (preg_match('/Mac OS X.([0-9. _]+)/i', $ua, $matches)) { if(count(explode(7,$matches[1]))>1) $matches[1] = 'Lion '.$matches[1]; elseif(count(explode(8,$matches[1]))>1) $matches[1] = 'MountAIn Lion '.$matches[1]; $title = "Mac OSX ".$matches[1]; $icon = "macos"; } elseif (preg_match('/Macintosh/i', $ua)) { $title = "Mac OS"; $icon = "macos"; } elseif (preg_match('/CrOS/i', $ua)){ $title = "Google Chrome OS"; $icon = "chrome"; }elseif (preg_match('/Linux/i', $ua)) { $title = 'Linux'; $icon = 'linux'; if (preg_match('/Android.([0-9. _]+)/i',$ua, $matches)) { $title= $matches[0]; $icon = "android"; }elseif (preg_match('#Ubuntu#i', $ua)) { $title = "Ubuntu Linux"; $icon = "ubuntu"; }elseif(preg_match('#Debian#i', $ua)) { $title = "Debian GNU/Linux"; $icon = "debian"; }elseif (preg_match('#Fedora#i', $ua)) { $title = "Fedora Linux"; $icon = "fedora"; } } return array( $title, $icon ); } function get_useragent($ua){ $url = get_bloginfo('template_directory') . '/images/browsers/'; $browser = get_browsers($ua); $os = get_os($ua); echo '<span class="useragent tra">|<span class="fa fa-globe"></span> '.$browser[0].'|<span class="fa fa-desktop"></span> '.$os[0].'</span>'; //echo '<img src="'.$url.$browser[1].'.png" title="'.$browser[0].'" style="border:0px;vertical-align:middle;" alt="'.$browser[0].'"><img src="'.$url.$os[1].'.png" title="'.$os[0].'" style="border:0px;vertical-align:middle;" alt="'.$os[0].'">'; }
最后本人注释掉了原带图的代码,替换为无图模式,用到Font Awesome字体图标,可以自行添加自己想要的图标。
引用的代码为:
<?php get_useragent($comment->comment_agent);?>
将该函数插入到评论列表的相应位置显示即可。
热门推荐
广告位-300PX*250PX
最新发布

wordpress长文章内容分页及通用分页样式

一般wordpress对长文章内容分页可以在文本html编辑器状态下,在需要分页的位置加入<!--nextpage-->即可,这是wordpress本身内置的功能,但某些主题却无法实现,说明你所使用的主题不支持这个功能,要实现也很简单,需要先在主题的single.php内找到下面这行代码:<?phpthe_content();?>然后在...

wordpress安全-防暴力破解终极方法

今天打开邮箱时,又发现了有人在暴破网站后台想想以前重命名wp-login.php之后就再也没发生过什么,不过当时需要前台登录而且前台无法登出,又改了回去。后来换了一种方式就是用跳转代码,相当于隐藏了后台菊花,没想到还是有人能直接找到。索性来了个终极防护手段:重命名wp-login.php ,并且对其跳转。特别注意,以下方法仅...

WordPress屏蔽/禁止指定IP或IP段(Linux主机)

今天看统计的时候,偶然间看到一个ip,发现这个家伙不断尝试查看我的网站的一些隐私目录,当然一般情况下是看不到什么的,但这怎么说总让人很不舒服啊,就像有个人一直趴在窗户上盯着你家里看一样,就算他进不来 也得赶一赶吧?!下面是一个很简单的wordpress 禁止/屏蔽某IP或IP段的方法。只需要修改.htaccess文...

WordPress 出现 Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM 的解决办法

今天在本地测试whatnew主题时,启用后出现 Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM 的提示,Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in E:phpnow-1.5.6PHPnow_33lc.comhtdocswp-contentthemeswhatnew-wplibmeta-boxmeta-boxincmeta-box.php on line 122网上一查php的 syntax...