J'ai développé un thème réactif et je souhaite le soumettre sur wordpress.org . Avant de le soumettre, je veux l'utiliser wp_is_mobile()
dans mon thème, mais selon Function Reference / wp est mobile, c'est une mauvaise idée car il dit ceci:
Vous devez savoir que cela ne détecte pas spécifiquement un téléphone mobile, 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 des plugins de mise en cache comme (WP Super Cache) ma fonction sera-t-elle foirée (échec d'exécution ou retour de faux positifs)?
Merci pour votre temps et vos réponses ...
la source
wp_is_mobile()
n'est rien de plus qu'une blague et n'est vraiment pas fiable. Il repose sur le côté utilisateur qui peut être manipulé par l'utilisateur final. Vous devez savoir que votre fonctionnalité échouera dans plus de 10% des cas, donc une grande quantité d'utilisateurs mobiles seront hébergés sur le bureau, qu'ils le veuillent ou non ou que vous ne le vouliez pasRéponses:
En termes très simples, ce
wp_is_mobile()
n'est pas pour styliser votre thème.Comment cela fonctionne: il correspond à une partie du nom natif du périphérique dans la chaîne de l'agent utilisateur. Donc, si quelqu'un manipule la chaîne et envoie de fausses informations, vous ne pouvez pas détecter de quel appareil il s'agit. Et il ne renvoie aucun nom d'appareil, il suffit de le retourner
true
si vous n'êtes pas sur le bureau autrementfalse
Comment WordPress l'utilise: WordPress ne l'utilise pas pour styliser ou ajouter du CSS n'importe où. WordPress l'utilise pour ajouter ou manipuler des choses qui ne devraient être que sur des appareils mobiles (indépendamment de la taille et du nom.) Par exemple pour ajouter des scripts tactiles, ajouter une fenêtre d'affichage, une classe mobile dans l'en-tête d'administration, ajouter des boutons 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 en back-end et presque tous les plug-ins de mise en cache excluent la mise en cache en back-end ou, par exemple, pour les utilisateurs connectés. Donc ça marche bien.
la source
wp_is_mobile()
est lié àHTTP USER AGENT
, il n'est pas lié à la taille de l'écranwp_is_mobile
retourner vrai ou faux basé sur$_SERVER['HTTP_USER_AGENT']
si
$_SERVER['HTTP_USER_AGENT']
contient Mobile (Android ou BlackBerry, etc.),wp_is_mobile
renvoie ensuite - vrai (détecté comme un appareil mobile), sinon il reviendrafalse
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, vérifiez le code source de la fonction
la source