Revision: 46301
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at May 17, 2011 04:44 by nathanbweb
Initial Code
<?php
// via bit.ly/wpthemg-bodclass
/**
* Extends the body_class(); to include browser detection
* Props to Thematic: http://wordpress.org/extend/themes/thematic
*/
function browser_body_class($classes) {
// A little Browser detection shall we?
$browser = $_SERVER[ 'HTTP_USER_AGENT' ];
// Mac, PC ...or Linux
if ( preg_match( "/Mac/", $browser ) ){
$classes[] = 'mac';
} elseif ( preg_match( "/Windows/", $browser ) ){
$classes[] = 'windows';
} elseif ( preg_match( "/Linux/", $browser ) ) {
$classes[] = 'linux';
} else {
$classes[] = 'unknown-os';
}
// Checks browsers in this order: Chrome, Safari, Opera, MSIE, FF
if ( preg_match( "/Chrome/", $browser ) ) {
$classes[] = 'chrome';
preg_match( "/Chrome\/(\d.\d)/si", $browser, $matches);
$classesh_version = 'ch' . str_replace( '.', '-', $matches[1] );
$classes[] = $classesh_version;
} elseif ( preg_match( "/Safari/", $browser ) ) {
$classes[] = 'safari';
preg_match( "/Version\/(\d.\d)/si", $browser, $matches);
$sf_version = 'sf' . str_replace( '.', '-', $matches[1] );
$classes[] = $sf_version;
} elseif ( preg_match( "/Opera/", $browser ) ) {
$classes[] = 'opera';
preg_match( "/Opera\/(\d.\d)/si", $browser, $matches);
$op_version = 'op' . str_replace( '.', '-', $matches[1] );
$classes[] = $op_version;
} elseif ( preg_match( "/MSIE/", $browser ) ) {
$classes[] = 'msie';
if( preg_match( "/MSIE 6.0/", $browser ) ) {
$classes[] = 'ie6';
} elseif ( preg_match( "/MSIE 7.0/", $browser ) ){
$classes[] = 'ie7';
} elseif ( preg_match( "/MSIE 8.0/", $browser ) ){
$classes[] = 'ie8';
} elseif ( preg_match( "/MSIE 9.0/", $browser ) ){
$classes[] = 'ie9';
}
} elseif ( preg_match( "/Firefox/", $browser ) && preg_match( "/Gecko/", $browser ) ) {
$classes[] = 'firefox';
preg_match( "/Firefox\/(\d)/si", $browser, $matches);
$ff_version = 'ff' . str_replace( '.', '-', $matches[1] );
$classes[] = $ff_version;
} else {
$classes[] = 'unknown-browser';
}
return $classes;
}
add_filter('body_class','browser_body_class');
?>
Initial URL
http://bit.ly/wpthemg-bodclass
Initial Description
Initial Title
WordPress extended body class
Initial Tags
class, php, wordpress, body
Initial Language
PHP