Wordpress de tarayıcıya göre body class atamak

wordpress-cssWordpress 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[] = '';
	return $classes;
}

Buna alternatif jQuery kullanarak da yapılabiliyor, bunun için de adres: tvidesign.co.uk

Kolay gelsin.

Bu konuda daha fazla bilgi almak için php browser detection, tarayıcıya göre css, wordpress , wordpress body salonu, wordpress tarayıcıya göre farklı css yükleme, body, browser, browser detection, chrome, class, css, dinamik body classlar, dizayn, dynamic body classes, firefox, hack, ie, ie6, ie7, ie8, internet, internet explorer, iphone, nasil yapilir, safari, tarayixi, tasarim, wordpress terimleri/etiketlerini ve Wordpress de tarayıcıya göre body class atamak başlığını site içerisinde arayabilirsiniz. Aşağıdaki seçenekleri de kullanabilirsiniz, unutmayın bunların hepsi bedavadır.

Benzer:

Etiketler: , , , , , , , , , , , , , , , , , , , , , ,

Sevdiysen:

Elegüne Tweetle bunu

“Wordpress de tarayıcıya göre body class atamak” için hiç yorum yok

Yorum yapın

(?) Dreamhost %50 indirim için promosyon kodu: wolkanca