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

Como adicionar classes de navegador de usuário e sistema operacional na classe de corpo do WordPress

Ao desenvolver temas do WordPress, às vezes você pode precisar das informações do navegador e do sistema operacional do usuário para modificar determinados aspectos do seu design usando CSS ou jQuery. O WordPress é capaz de fazer isso para você. Neste artigo, mostraremos como adicionar as classes do navegador e do sistema operacional do usuário na classe body do WordPress.

Detecting user platform and browser in WordPress

Por padrão, o WordPress gera classes CSS para diferentes seções do seu site. Ele também fornece filtros para que os desenvolvedores de temas e plug-ins possam adicionar suas próprias classes. Você usará o filtro body_class para adicionar informações sobre o navegador e o sistema operacional como classe CSS.

A primeira coisa que você precisa fazer é adicionar o seguinte código no arquivo functions.php do seu 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');

A primeira parte desse script detecta o navegador do usuário e o adiciona a $classes. A segunda parte detecta o sistema operacional do usuário e também o adiciona a $classes. A última linha usa o filtro body_class do WordPress para adicionar classes.

Agora você precisa adicionar a classe body à tag HTML <body> no arquivo header.php do seu tema. Substitua a linha body em seu arquivo de modelo por este código:

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

Observe que, se estiver trabalhando com um tema inicial, como o underscores, ou com estruturas de temas bem codificadas, como o Genesis, seu tema já terá a função body class na tag body. Depois que o código for implementado, você poderá ver as classes do navegador e do sistema operacional com a tag body na fonte HTML. Você também perceberá que haverá outras classes adicionadas à tag body pelo WordPress.

Adding browser and OS information in WordPress body class

Agora você pode estilizar as classes para diferentes navegadores e sistemas operacionais ou usá-las como seletores no jQuery. Esperamos que este artigo o tenha ajudado a detectar as informações do navegador e do sistema operacional do usuário no WordPress.

Se estiver apenas começando a desenvolver temas para o WordPress, talvez queira dar uma olhada em nossa introdução ao Sass e ao WordPress Body Class 101 para novos designers de temas. Se tiver algum feedback ou dúvida, deixe um comentário abaixo.

Fonte: Justin Sternberg

Divulgação: Nosso conteúdo é apoiado pelo leitor. Isso significa que, se você clicar em alguns de nossos links, poderemos receber uma comissão. Veja como o WPBeginner é financiado, por que isso é importante e como você pode nos apoiar. Aqui está nosso processo editorial.

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.

O kit de ferramentas definitivo WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Reader Interactions

9 ComentáriosDeixe uma resposta

  1. Adam

    What if the user is using Edge? The IE replacement browser.

    • WPBeginner Support

      This is an older article but for Edge, it is: is_edge following the above formatting :)

      Administrador

  2. Mel

    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. Daniel Geiser

    Is there a possibility to detect Edge? ;)

  4. Rehan

    This is what i want exacly… thank you so much…

    best ever :)

  5. Bill Robbins

    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.

    • WPBeginner Support

      Bill, Good point. We are looking for an alternative solution and will update the article soon. Thanks for pointing this out.

      Administrador

Deixe uma resposta

Obrigado por deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossos política de comentários, e seu endereço de e-mail NÃO será publicado. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.