Utilisation appropriée de wp_is_mobile ()?

15

J'ai développé un thème sensible et je souhaite le soumettre à wordpress.org . Avant de le soumettre, je souhaite utiliser wp_is_mobile() dans mon thème, mais selon la référence de la fonction / wp est mobile , il s'agit d'un mauvaise idée parce qu'il dit ceci:

Vous devez savoir que cela ne détecte pas spécifiquement un téléphone portable, car une tablette est considérée comme un appareil mobile. Vérifiez la zone Plugins pour plusieurs alternatives utiles. Il ne doit pas non plus être utilisé pour les thèmes.

Donc si je l'utilise dans mon thème functions.php comme ceci:

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;
}

Mon thème sera-t-il rejeté?

Sous-question:

Si j'utilise ma fonction comme dans le code ci-dessus et que j'utilise Caching Plugins comme (WP Super Cache), ma fonction va-t-elle être gâchée (impossible d'exécuter ou de renvoyer de faux positifs)?

Merci pour votre temps et vos réponses ...

    
posée Dejo Dekic 20.05.2015 - 16:27

2 réponses

30

En termes très profanes, wp_is_mobile() ne sert pas à styliser votre thème.

Comment ça marche: Il correspond à certains noms natifs du périphérique dans User Agent String. Donc, si quelqu'un manipule la chaîne et envoie de fausses informations, vous ne pouvez pas détecter le périphérique en question. Et il ne renvoie aucun nom de périphérique, mais simplement true si vous ne l'utilisez pas sur le bureau, sinon false

Comment WordPress l'utilise: WordPress ne l'utilise pas pour le style ou l'ajout de CSS n'importe où. WordPress l'utilise pour ajouter ou manipuler des éléments qui ne devraient figurer que sur les appareils mobiles (quels que soient leur taille et leur nom.) par exemple. pour ajouter des scripts tactiles, ajouter une fenêtre d'affichage, une classe mobile dans l'en-tête de l'administrateur, ajouter des boutons pour les mobiles.

Effet de la mise en cache : Si vous utilisez un plugin de mise en cache, il est inutile. Comme votre code n'est pas exécuté à chaque fois, vous obtenez le même résultat à chaque fois.

WordPress l’utilise principalement à l’arrière-plan et presque tous les plugins de mise en cache excluent la mise en cache à l’arrière-plan ou par exemple pour les utilisateurs connectés. Donc ça marche très bien.

    
réponse donnée Sumit 20.05.2015 - 18:31
1

wp_is_mobile() est lié à HTTP USER AGENT , ce n'est pas lié à la taille de l'écran

wp_is_mobile renvoie true ou false sur la base de $_SERVER['HTTP_USER_AGENT']

si $_SERVER['HTTP_USER_AGENT'] contient Mobile (Android ou BlackBerry, etc.),

then wp_is_mobile renvoie - true (détecté en tant qu'appareil mobile), sinon, il retournera false

.

un cas d'utilisation simple - pour créer un lien, essayez de naviguer vers une application mobile ou une page Web.

pour plus d'informations , consultez le code source de la fonction

    
réponse donnée bhv 24.10.2017 - 09:04

Lire d'autres questions sur les étiquettes