Ist wp_is_mobile () wirksam?

16

Ich werde den Benutzeragenten testen, um eine mobile Vorlage anstelle des Desktop-Designs zu laden.

Es gibt viele mobile Erkennungsskripte.

  • Ist wp_is_mobile()Funktion gut funktionieren?
  • Wie ist Ihre Erfahrung im Vergleich zu anderen Klassen wie zB mobiledetect.net?
Andrea Puiatti
quelle

Antworten:

15

Ja es funktioniert gut Es ist eine sehr einfache Funktion, aber es wurde nie ein Mobilgerät gefunden, das nicht von ihr erkannt wurde. Es erkennt die 90% der mobilen Geräte. Der Hauptunterschied zu mobiledetect.net besteht darin, dass er sich nicht von Telefon und Tablet unterscheidet.

Siehe den Code

gmazzap
quelle
Aber als Hinweis - 90% sind nicht alles und 90% nur heute. Wir bekommen sehr schnell neue Geräte und diese Funktion ist oft nicht hilfreich. Sie schließen Geräte und Benutzer von der Lösung aus.
Bueltge
8

Ja, das wp_is_mobile()funktioniert gut, aber Sie können auf Probleme stoßen, wenn Sie aggressive Caching-Systeme wie Fastcgi, Proxy-Cache usw. verwenden, die die PHP-Ausführung überspringen.

In diesem Fall würde ich eine clientseitige Erkennungsmethode (Javascript) empfehlen, die sowohl für mobile als auch für Desktop-Browser geladen wird.

Dan Ștefancu
quelle
Das ist ein guter Punkt. Wenn Sie das vollständige Seiten-Caching im automatischen Modus (pro Anforderung) verwenden, enthält der Cache je nach Gerät, von dem aus die erste Anforderung gestellt wurde, eine mobile ODER Desktop-Version. Alle weiteren Anfragen werden mit dieser Version bearbeitet, egal um welchen Gerätetyp es sich handelt. Wenn Sie eine Pre-Caching-Lösung verwenden (die ich immer verwende), werden Desktop-Versionen generiert und mobile Benutzer erhalten sie immer.
Ihor Vorotnov
6

Es ist eine beschissene Idee, diese Funktion zu verwenden. Die Geräteidentifikation sollte immer auf der Client-Seite erfolgen, und der Benutzeragent ist wahrscheinlich der schlechteste Weg, um festzustellen, ob ein Gerät ein Feature X unterstützt oder einen Formfaktor Y aufweist.

Sie fangen an, es zu verwenden, wenn die Site jung ist, und dann wächst Ihre Site und Sie beschließen, Ihren HTML-Code zwischenzuspeichern und alle Ihre Geräteerkennungscodes zu boomen, funktioniert nicht mehr.

Mark Kaplun
quelle
Ich habe Ihre Antwort positiv bewertet, da meiner Meinung nach auch Überlegungen zum Cache sehr wichtig sind.
Marco Panichi