Das Einfügen der body_class()-Funktion in den Body-Tag Deiner Website gibt Dir seitenbezogen verschiedene Klassen aus. So hast Du die Möglichkeit, bestimmte Seitenbereiche mit CSS effizienter anzusprechen. Zudem gibt es die Möglichkeit, die Funktion so zu erweitern, dass sie nicht nur seitenbezogene Klassen generiert, sondern auch browser- und betriebssystemabhängige.

Füge dafür folgendes in Deine functions.php ein:

<?php

function drwp_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';
        if(preg_match('/MSIE ([0-9]+)([a-zA-Z0-9.]+)/', $_SERVER['HTTP_USER_AGENT'], $browser_version))
            $classes[] = 'ie'.$browser_version[1];
    } else $classes[] = 'unknown';
    if($is_iphone) $classes[] = 'iphone';
    if ( stristr( $_SERVER['HTTP_USER_AGENT'],"android") ) {
         $classes[] = 'android';
    } else if ( stristr( $_SERVER['HTTP_USER_AGENT'],"mac") ) {
         $classes[] = 'osx';
    } elseif ( stristr( $_SERVER['HTTP_USER_AGENT'],"linux") ) {
         $classes[] = 'linux';
    } elseif ( stristr( $_SERVER['HTTP_USER_AGENT'],"windows") ) {
         $classes[] = 'windows';
    }
    
    return $classes;
  
}
add_filter('body_class','drwp_browser_body_class');

?>

Einbinden musst Du die Funktion wie folgt:

<body <?php body_class(); ?>>

… und schon werden Dir verschiedene Klassen generiert, mit denen Du verschiedene Browser und Betriebssysteme anpassen kannst.

Quelle: drwp.de

Smalltalk-Ecke

Hat Dir der Artikel gefallen oder möchtest Du am Inhalt etwas ergänzen? Hast Du weitere Fragen dazu? Lass uns gerne dazu austauschen. Ich freue mich von Dir zu hören! :)


  1. Stefan D. sagt:

    Dies Browsererkennungsscript funktioniert leider nicht. Beim Einfügen in function PHP läßt sich WordPress Backend und Frontend nicht mehr aufrufen.

    1. Daniele sagt:

      Hallo Stefan,

      welche Fehlermeldung erscheint denn? Normalerweise sollte der Code nach wie vor funktionieren. Gerne helfe ich Dir beim Lösen des Problems 🙂

      Liebe Grüße,
      Daniele

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Werde Teil unserer Community

Abonniere unseren kostenlosen Newsletter und wir informieren Dich regelmäßig über neue, spannende Artikel im Bereich Webentwicklung, die Programmierung von Mobile Apps, SEO und mehr!

Wir halten deine Daten privat und teilen sie nur mit Dritten, die diesen Dienst ermöglichen. Lies unsere Datenschutzerklärung.
Kostenloser Newsletter

Bleibe auf dem Laufenden!

Wir informieren Dich regelmäßig über neue, spannende Artikel im Bereich Webentwicklung, Programmierung von Mobile Apps, SEO und mehr!

Wir halten deine Daten privat und teilen sie nur mit Dritten, die diesen Dienst ermöglichen. Lies unsere Datenschutzerklärung.