WordPress 2.8 versiyonu ile birlikte WordPress'de body_class() fonksiyonu kullanılmaya başlandı, WordPress body tagine örneğin ana sayfada
<body class="home blog">
, tekil herhangi bir yazıda <body class="single postid-64">
blog giriş yapmışsa o kullanıcı <body class="home blog logged-in">
şeklinde class eklemekte.
Kullanımı ise temada <body> tagine <?php body_class(); ?>
eklemek yani şu şekilde; <body <?php body_class(); ?>>
.
- Tüm classlar aşağıdaki gibi;
- rtl
- home
- blog
- archive
- date
- search
- paged
- attachment
- error404
- single postid-(id)
- attachmentid-(id)
- attachment-(mime-type)
- author
- author-(user_nicename)
- category
- category-(slug)
- tag
- tag-(slug)
- page
- page-parent
- page-child parent-pageid-(id)
- page-template page-template-(template file name)
- search-results
- search-no-results
- logged-in
- paged-(page number)
- single-paged-(page number)
- page-paged-(page number)
- category-paged-(page number)
- tag-paged-(page number)
- date-paged-(page number)
- author-paged-(page number)
- search-paged-(page number)
Bizim fonksiyonumuz WordPress'in body_class(); fonksiyonuna ekleme yaparak ziyaret eden kullanıcının tarayıcısını da görüp onu da body_class(); a ekleyecek yani sonuç olarak bloga Safari tarayıcı ie girmiş bir kullanıcıda örneğin body_class(); şöyle olacak; <body class="home blog logged-in safari">
.
Bu yöntem ile tasarımlarınızı daha uyumlu yapmanız mümkün örneğin bir div elementini Safari tarayıcı için css de şöyle biçimlendirebilirsiniz;
.safari #content {
width: 960px;
}
Temanızın fonksiyon.php dosyasına ekleyeceğiniz kod ise şu;
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) $classes[] = 'ie'; else $classes[] = 'unknown'; if($is_iphone) $classes[] = 'iphone'; return $classes; }
Buna alternatif jQuery kullanarak da yapılabiliyor, bunun için de adres: tvidesign.co.uk
Kolay gelsin.