Tutoriais confiáveis de WordPress, quando você mais precisa.
Guia para Iniciantes em WordPress
WPB Cup
Mais de 25 Milhões
Sites usando nossos plugins
16+
Anos de experiência com WordPress
3000+
Tutoriais de WordPress por especialistas

Como Adicionar Classes de Navegador e SO do Usuário na Classe Body do WordPress

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

Detectando a plataforma e o navegador do usuário no WordPress

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

A primeira coisa que você precisa fazer é adicionar o seguinte código ao 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 deste 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 as classes.

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

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

Observe que, se você estiver trabalhando com um tema inicial como underscores ou frameworks de temas bem codificados como Genesis, seu tema já terá a função body class na tag body. Após a implementação do código, você poderá ver as classes de navegador e sistema operacional com a tag body no código-fonte HTML. Você também notará que outras classes serão adicionadas à tag body pelo WordPress.

Adicionando informações de navegador e SO na classe body do WordPress

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

Se você está apenas começando com o desenvolvimento de temas para WordPress, talvez queira dar uma olhada em nossa introdução ao Sass e WordPress Body Class 101 para novos designers de temas. Informe-nos se tiver algum feedback ou dúvida deixando 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 ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

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

Interações do Leitor

11 CommentsLeave a Reply

    • Se você tiver um complemento de segurança ou CDN, ele pode estar enviando essas informações para o navegador em vez das informações corretas.

      Admin

  1. 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 :)

    Mais poder!!!

  2. Esta é uma maneira maravilhosa de ajustar o estilo para navegadores individuais. O único grande inconveniente é que pode sair pela culatra quando usado com alguns plugins/sistemas de cache. Você acabará aplicando estilos destinados a um navegador a todos os navegadores porque a tag body será armazenada em cache, assim como o restante do conteúdo da página.

Leave A Reply

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