Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo agregar clases de navegador y sistema operativo del usuario en la clase body de WordPress

Al desarrollar temas de WordPress, a veces puede necesitar información del navegador y del sistema operativo del usuario para modificar ciertos aspectos de su diseño utilizando CSS o jQuery. WordPress es capaz de hacer eso por usted. En este artículo, le mostraremos cómo agregar clases de navegador y sistema operativo del usuario a la clase body de WordPress.

Detectar la plataforma y el navegador del usuario en WordPress

Por defecto, WordPress genera clases CSS para diferentes secciones de su sitio web. También proporciona filtros, para que los desarrolladores de temas y plugins puedan agregar sus propias clases. Utilizará el filtro body_class para agregar información del navegador y del sistema operativo como clase CSS.

Lo primero que debe hacer es agregar el siguiente código en el archivo functions.php de su 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 primera parte de este script detecta el navegador del usuario y lo agrega a $classes. La segunda parte detecta el sistema operativo del usuario y también lo agrega a $classes. La última línea utiliza el filtro body_class de WordPress para agregar las clases.

Ahora necesitas agregar la clase body a la etiqueta HTML <body> en el archivo header.php de tu tema. Reemplaza la línea del body en tu archivo de plantilla con este código:

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

Ten en cuenta que si estás trabajando con un tema de inicio como underscores o frameworks de temas bien codificados como Genesis, entonces tu tema ya tendrá la función body class en la etiqueta body. Una vez implementado el código, podrás ver las clases del navegador y del sistema operativo con la etiqueta body en el código fuente HTML. También notarás que WordPress agregará otras clases a la etiqueta body.

Agregar información del navegador y SO en la clase body de WordPress

Ahora puedes estilizar las clases para diferentes navegadores y sistemas operativos o usarlas como selectores en jQuery. Esperamos que este artículo te haya ayudado a detectar la información del navegador y sistema operativo del usuario en WordPress.

Si recién estás comenzando con el desarrollo de temas de WordPress, es posible que también quieras echar un vistazo a nuestra introducción a Sass y WordPress Body Class 101 para nuevos diseñadores de temas. Háznos saber si tienes algún comentario o pregunta dejando un comentario a continuación.

Fuente: Justin Sternberg

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

Obtén acceso GRATUITO a nuestro kit de herramientas: ¡una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Interacciones del lector

11 CommentsLeave a Reply

    • Si tienes un complemento de seguridad o una CDN, es posible que esté enviando esa información al navegador en lugar de la información correcta.

      Administrador

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

    ¡Más poder!

  2. Esta es una forma maravillosa de ajustar el estilo para navegadores individuales. El único inconveniente importante es que puede ser contraproducente cuando se usa con algunos complementos/sistemas de caché. Terminarás aplicando estilos destinados a un navegador a todos los navegadores porque la etiqueta body se almacenará en caché al igual que el resto del contenido de la página.

Deja una respuesta

Gracias por elegir dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de comentarios, y tu dirección de correo electrónico NO será publicada. Por favor, NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.