En 2012, WordPress 3.4 a introduit une fonction que les développeurs pourraient utiliser pour vérifier si un visiteur utilisait un appareil mobile. La fonction, appelée wp_is_mobile (), a été construite à une époque où la plupart des téléphones portables étaient sous-alimentés et que les tailles d'écran étaient encore petites par rapport aux normes d'aujourd'hui.
Mais maintenant que l'utilisation mobile a dépassé la navigation de bureau et les ordinateurs portables rivaux rivaux, cela soulève une question juste - WP_IS_MOBILE () est-il toujours utile ou est-il devenu obsolète?
Explorons ce que fait cette fonction, quand l'utiliser, où elle échoue, et si elle devrait toujours faire partie de votre de développement WordPress .
Qu'est-ce que wp_is_mobile () et que fait-il?
La fonction WP_IS_MOBILE () est une fonction WordPress intégrée qui renvoie True si un visiteur du site utilise un appareil mobile. Il vérifie la chaîne d'agent utilisateur envoyé par le navigateur du visiteur pour déterminer si la demande provient d'un smartphone ou d'une tablette.
Cette fonction ne fait pas de distinction entre les téléphones et les tablettes, ni analyse la taille ou l'orientation de l'écran. Au lieu de cela, il s'appuie sur la présence de mots clés dans l'agent utilisateur pour prendre sa décision. Si la chaîne de navigateur comprend des indicateurs d'un appareil mobile, la fonction renvoie true; Sinon, il renvoie faux.
Besoin d'aide d'experts pour optimiser WordPress pour les appareils mobiles?
Notre équipe construit des solutions WordPress personnalisées qui s'adaptent parfaitement aux appareils utilisateur, améliorent les performances et évoluent avec vos objectifs commerciaux.
Pourquoi a-t-il été introduit?
Lorsque WordPress a introduit la fonction, la conception Web réactive commençait à peine à décoller. Les développeurs ont souvent construit des versions mobiles séparées des sites Web et ont travaillé dur pour réduire l'utilisation des données pour les utilisateurs mobiles. Les limitations de la bande passante et les performances plus faibles de l'appareil ont fait de l'optimisation une priorité absolue.
L'idée était simple - permettre aux développeurs d'afficher ou de masquer conditionnellement le contenu selon que le visiteur était sur un appareil mobile ou non.
Comment fonctionne wp_is_mobile ()?
Voici un exemple de base de la façon d'utiliser cette fonction dans un fichier de modèle PHP:
<?php if ( wp_is_mobile() ) { ?><p>Ce contenu est destiné aux appareils mobiles.</p><?php } else { ?><p> Ce contenu concerne les utilisateurs de bureau.</p><?php } ?>
Cet extrait publie différents contenus HTML basés sur le périphérique du visiteur. Il est utile si vous souhaitez charger une disposition légère pour les utilisateurs mobiles ou afficher des instructions alternatives.
wp_is_mobile () vs conception réactive
La plus grande limitation de wp_is_mobile () est qu'elle fonctionne du côté du serveur , bien avant que tout CSS ou JavaScript ne s'implique. Il ne peut pas détecter la largeur ou la résolution de l'écran. Au lieu de cela, il repose entièrement sur la détection des chaînes dans l'agent utilisateur.
D'un autre côté, les requêtes multimédias CSS et les techniques réactives modernes peuvent répondre aux dimensions d'écran et à l'orientation réelles. Ils adaptent la disposition du contenu en fonction de la quantité d'espace disponible, quel que soit le type d'appareil.
Si votre objectif est la flexibilité de mise en page, wp_is_mobile () n'est pas l'outil idéal. Mais si vous devez fournir un contenu alternatif avant le chargement de la page - en particulier en fonction du type de périphérique - cette fonction sert toujours un objectif.
Quand utiliser wp_is_mobile ()
Malgré son âge, il y a encore plusieurs cas d'utilisation où WP_IS_MOBILE () peut être utile:
- Chargement des fichiers d'image plus petits pour les appareils mobiles
- Affichage des instructions spécifiques au mobile ou du contenu d'aide
- Rediriger les utilisateurs mobiles vers les pages de téléchargement d'applications
- Servir des en-têtes ou des menus alternatifs pour les visiteurs mobiles
- Création de shortcodes qui basculent la visibilité du contenu en fonction du type de périphérique
Il est particulièrement utile lorsqu'il est associé à des fonctions personnalisées ou à des raccourcis qui donnent aux éditeurs de contenu plus de contrôle dans l'éditeur de blocs WordPress.
Création de shortcodes avec wp_is_mobile ()
Pour donner aux éditeurs un moyen simple d'afficher du contenu mobile ou de bureau uniquement dans des publications ou des pages, vous pouvez utiliser ce code dans votre fichier Functions.php:
add_shortcode ('Desktop', 'show_desktop_content'); fonction show_desktop_content ($ atts, $ content = null) {if (! wp_is_mobile ()) return do_shortcode ($ contenu); } add_shortcode ('mobile', 'show_mobile_content'); fonction show_mobile_content ($ atts, $ content = null) {if (wp_is_mobile ()) return do_shortcode ($ contenu); }
Vous pouvez maintenant utiliser [mobile] Appuyez sur [/ mobile]
et [Desktop] cliquez sur [/ Desktop]
pour adapter le langage en fonction de l'interaction de l'appareil.
wp_is_mobile () et cache WordPress
L'un des plus grands défis lors de l'utilisation de WP_IS_MOBILE () est la mise en cache . Étant donné que la fonction s'exécute sur le serveur, elle peut entraîner des problèmes si la mise en cache n'est pas correctement configurée.
Si une version mise en cache d'une page est créée pour un utilisateur mobile, tous les futurs visiteurs - y compris les utilisateurs de bureau - peuvent voir la version mobile à moins que votre solution de mise en cache sépare le contenu par type d'appareil.
C'est pourquoi certains hôtes WordPress gérés offrent des options de mise en cache mobile distinctes, afin que le contenu soit servi avec précision à chaque type de visiteur.
Limitations de wp_is_mobile ()
Bien que utile dans des contextes spécifiques, wp_is_mobile () est livré avec des limitations:
- Impossible de détecter la taille ou l'orientation de l'écran
- Traite les comprimés et les téléphones
- Peut identifier mal les appareils si les chaînes d'agent utilisateur sont usurpées
- Ne tient pas compte des appareils modernes avec des résolutions de classe de bureau
Les développeurs travaillant sur des dispositions réactives avancées peuvent préférer s'appuyer sur les requêtes multimédias CSS ou la détection d'appareils basée sur JavaScript pour plus de précision.
Alternatives à wp_is_mobile ()
Voici quelques alternatives et améliorations modernes:
- Médias CSS pour les ajustements de disposition
- Les bibliothèques JavaScript comme Modernizr pour la détection des fonctionnalités
- Marquage d'image réactif à l'aide de l'élément d'image
- Blocs conditionnels ou plugins qui gèrent la visibilité des blocs en fonction de la taille de l'écran
Pour la flexibilité du contenu dans l'éditeur de blocs, beaucoup utilisent des plugins de visibilité en blocs qui offrent des règles d'affichage basées sur des périphériques sans toucher au code PHP.
Pensées finales
La fonction WP_IS_MOBILE () est loin d'être inutile. Il offre un moyen simple de détecter les visiteurs mobiles et de livrer un contenu alternatif ou des expériences côté serveur. Bien qu'il n'offre pas la finesse des de conception réactifs , il joue toujours un rôle dans les situations où la détection des appareils précoces est utile.
Cependant, il est mieux utilisé en combinaison avec d'autres méthodes. S'appuyer uniquement sur cette fonction peut ne pas offrir l'expérience la plus précise ou la plus conviviale, en particulier avec la diversité des appareils d'appareils d'aujourd'hui.