Uso apropiado de wp_is_mobile ()?

15

He desarrollado un tema de respuesta y quiero enviarlo a wordpress.org . Antes de enviarlo, quiero usar wp_is_mobile() en mi tema, pero de acuerdo con Referencia de funciones / wp es móvil es una mala idea porque dice esto:

Debería darse cuenta de que esto no detecta un teléfono móvil específicamente, ya que una tableta se considera un dispositivo móvil. Compruebe el área de Complementos para varias alternativas útiles. Tampoco debe utilizarse para temas.

Entonces, si lo uso en mi theme functions.php de esta manera:

add_filter('body_class','mobile_theme_body_class');     
function mobile_theme_body_class( $classes ){

    if ( wp_is_mobile() ){
        $classes[] = 'mobile';
    }
    else{
        $classes[] = 'desktop';
    }
    return $classes;
}

¿Se rechazará mi tema?

Subpregunta:

Si uso mi función como en el código anterior y uso los Complementos de almacenamiento en caché como (WP Super Cache), ¿se va a desordenar mi función (no se ejecutó o devolvió falsos positivos)?

Gracias por su tiempo y respuestas ...

    
pregunta Dejo Dekic 20.05.2015 - 16:27

2 respuestas

30

En un término muy simple, wp_is_mobile() no es para estilizar tu tema.

Cómo funciona: Coincide con algunos de los nombres nativos del dispositivo en la Cadena de agente de usuario. Entonces, si alguien manipula la cadena y envía información falsa, no podrá detectar qué dispositivo es. Y no devuelve ningún nombre de dispositivo, simplemente devuelve true si no está en el escritorio else false

Cómo lo usa WordPress: WordPress no lo usa para diseñar o agregar CSS en ningún lugar. WordPress lo usa para agregar o manipular cosas que deberían estar solo en dispositivos móviles (independientemente del tamaño y el nombre). p.ej. para agregar scripts táctiles, agregar viewport, clase móvil en el encabezado de administrador, agregar botones móviles.

Efecto del almacenamiento en caché : Si usas el plugin de caché es inútil. Como tu código no se ejecuta cada vez, obtienes el mismo resultado cada vez.

WordPress lo usa principalmente en el back-end y casi todos los complementos de almacenamiento en caché excluyen el almacenamiento en caché en el back-end o, digamos, para usuarios registrados. Así que funciona bien.

    
respondido por el Sumit 20.05.2015 - 18:31
1

wp_is_mobile() está relacionado con HTTP USER AGENT , no está relacionado con el tamaño de la pantalla

wp_is_mobile devuelve verdadero o falso basado en $_SERVER['HTTP_USER_AGENT']

si $_SERVER['HTTP_USER_AGENT'] contiene Mobile (Android o BlackBerry, etc.),

luego wp_is_mobile devuelve - verdadero (detectado como un dispositivo móvil), si no, devolverá false

un caso de uso simple: para crear un enlace, intente navegar a la aplicación móvil o página web.

para más información verificar el código fuente de la función

    
respondido por el bhv 24.10.2017 - 09:04

Lea otras preguntas en las etiquetas