Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coppa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Come aggiungere le classi di browser e sistema operativo dell’utente nel contenuto di WordPress

Nota editoriale: guadagniamo una commissione dai link dei partner su WPBeginner. Le commissioni non influenzano le opinioni o le valutazioni dei nostri redattori. Per saperne di più su Processo editoriale.

Quando si sviluppano temi per WordPress, a volte è necessario conoscere le informazioni sul browser e sul sistema operativo dell’utente per modificare alcuni aspetti del design utilizzando CSS o jQuery. WordPress è in grado di farlo per voi. In questo articolo vi mostreremo come aggiungere le classi del browser e del sistema operativo dell’utente nel contenuto di WordPress.

Detecting user platform and browser in WordPress

Di default WordPress genera classi CSS per le diverse sezioni del sito web. Fornisce anche dei filtri, in modo che gli sviluppatori di temi e plugin possano hookare le proprie classi. Utilizzerete il filtro body_class per aggiungere le informazioni sul browser e sul sistema operativo come classi CSS.

La prima cosa da fare è aggiungere il seguente codice nel file functions.php del tema.

        function mv_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'],"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','mv_browser_body_class');

La prima parte di questo script rileva il browser dell’utente e lo aggiunge a $classes. La seconda parte rileva il sistema operativo dell’utente e lo aggiunge a $classes. L’ultima riga utilizza il filtro body_class di WordPress per aggiungere le classi.

Ora è necessario aggiungere la classe body al tagga HTML <body> nel file header.php del tema. Sostituire il contenuto del body nel file del template con questo codice:

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

Si noti che se si sta lavorando in corso d’opera con un tema iniziale come underscores o con framework di temi ben codificati come Genesis, il tema avrà già la funzione body class nel tagga body. Una volta implementato il codice, si potranno vedere le classi del browser e del sistema operativo nel tagga body nel sorgente HTML. Si noterà anche che WordPress aggiungerà altre classi al tagga body.

Adding browser and OS information in WordPress body class

Ora è possibile stilizzare le classi per i diversi browser e sistemi operativi o utilizzarle come selettori in jQuery. Speriamo che questo articolo vi abbia aiutato a rilevare le informazioni sul browser e sul sistema operativo dell’utente in WordPress.

Se siete alle prime armi con lo sviluppo di temi per WordPress, potreste anche dare un’occhiata alla nostra introduzione a Sass e a WordPress Body Class 101 per i nuovi designer di temi. Fateci sapere se avete feedback o domande lasciando un commento qui sotto.

Fonte: Justin Sternberg

Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come WPBeginner è finanziato , perché è importante e come puoi sostenerci. Ecco il nostro processo editoriale .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Il kit di strumenti WordPress definitivo

Ottenete l'accesso gratuito al nostro kit di strumenti - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Reader Interactions

10 commentiLascia una risposta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Mel says

    Hi.. I’ve been a fan of this website for almost 3 years.. by the way any update on this function for edge browser? thanks :)

    More power!!!

  3. Bill Robbins says

    This is a wonderful way to tweak styling for individual browsers. The only major drawback is it can backfire when used with some caching plugins/systems. You’ll end up applying styles intended for one browser to all browsers because the body tag will be cached just like the rest of the content on the page.

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tenga presente che tutti i commenti sono moderati in base alle nostre politica dei commenti e il suo indirizzo e-mail NON sarà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avremo una conversazione personale e significativa.