September 1st, 2010 by

These are very useful pieces of code.

This code will allow you to add top level page class to the body tag.

add_filter('body_class','top_level_parent_id_body_class');
function top_level_parent_id_body_class($classes) {
	global $wpdb, $post;
	if (is_page()) {
	    if ($post->post_parent)	{
        	$ancestors=get_post_ancestors($post->ID);
        	$root=count($ancestors)-1;
        	$parent = $ancestors[$root];
        } else {
        	$parent = $post->ID;
        }
        $classes[] = 'top-level-parent-pageid-' . $parent;
	}
	return $classes;
}

With this one you can easily detect browser (even version of Internet Explorer).

<?php
add_filter('body_class','browser_body_class');
function browser_body_class($classes) {
	global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone;

	if($is_lynx) $classes[] = 'lynx';
	elseif($is_gecko) $classes[] = 'gecko';
	elseif($is_opera) $classes[] = 'opera';
	elseif($is_NS4) $classes[] = 'ns4';
	elseif($is_safari) $classes[] = 'safari';
	elseif($is_chrome) $classes[] = 'chrome';
    elseif($is_IE) {
        ereg('MSIE ([0-9].[0-9])',$_SERVER['HTTP_USER_AGENT'],$reg);
          if(!isset($reg[1])) {
             $classes[] = 'ie';
          } else {
             $classes[] = 'ie' . floatval($reg[1]);
          }
    }
	else $classes[] = 'unknown';  

	if($is_iphone) $classes[] = 'iphone';
	return $classes;
}
?>

Add the snippets to the functions.php file.

Leave a Reply