Mobile Endgeräte erkennen

Eine häufige Frage lautet:

Wie kann ich in WordPress überprüfen, ob ein Benutzer ein mobiles Gerät benutzt?

Dazu gibt es von mir sogar zwei Antworten.

  1. „Schnelle“ Überprüfung mittels wp_is_mobile()
  2. Genauere Überprüfung mittels mobiledetect.net

„Schnelle“ Überprüfung mittels wp_is_mobile()

Es gibt die WordPress eigene Funktion wp_is_mobile();.

Diese Funktion ist eine Boolean Funktion, d.h. sie gibt TRUE oder FALSE zurück. Sie funktioniert mittels Browser Erkennung durch den user agent string ($_SERVER[‚HTTP_USER_AGENT‘]).

Das wichtigste ist aber, dass diese Funktion mobile Endgeräte nicht genau erkennt. So unterscheidet diese Funktion nicht zwischen einem Smartphone und einem Tablet.

Genauere Überprüfung mittels mobiledetect.net

Mobile Detect ist eine PHP Klasse zum Erkennen von mobilen Endgeräten (inklusive Tablets). Die genauere Beschreibung entnimmst du auf der Website.

Das tolle an dieser Klasse – am Ende ist es auch nur eine PHP-Datei 🙂 – ist, dass sie ständig weiterentwickelt wird. So werden ständig neue Geräte hinzugefügt.

Ich binde die Datei wie folgt ein.

  • Datei runterladen
  • Mittels FTP in den Ordner des Themes bzw. des Child Themes geben
Mobile_Detect.php

Mobile_Detect.php – eingebunden in einem Child Theme

  • In der Datei functions.php die Datei einbinden

Hier ein Beispiel

Das folgende Beispiel kommt in deine functions.php:

Der obere Code wird in den Kommentaren erklärt. Unter diesem Link http://demo.mobiledetect.net/ sind alle möglichen Methoden zur Überprüfung aufgelistet.

Wichtig: Mit dieser Art der Einbindung von Mobile_Detect.php muss diese Klasse/Datei selbständig aktualisiert werden.

Diese Aussage führt natürlich zu folgender Frage:

Gibt es ein Mobile_Detect Plugin für WordPress?

Natürlich! 🙂
Hier ist eine Auflistung dazu: https://github.com/serbanghita/Mobile-Detect#3rd-party-modules–submit-new

Wobei zum Zeitpunkt der Veröffentlichung dieses Beitrages waren alle Plugins veraltet.

Ich entschied für mich, dass ich kein Plugin benötige, da ich  Mobile_Detect.php mit ein paar Zeilen Code selbst einbinden kann.

 

Was ist deine Meinung?

 

  • matuzo

    Mir gefällt die Variante ohne Plugin auch besser, weil man nicht immer für jede Aufgabe gleich ein Plugin benötigt. Schon gar nicht, wenn es nur darum geht eine PHP-Datei einzubinden.
    Unpraktisch ist natürlich, dass man die Datei laufend manuell einbinden muss. Andererseits ist fraglich, ob man überhaupt will, dass sich eine Datei “von selbst” verändert. Ich denke, dass sich der Download der aktuellen Datei gut in den “Plugins-Aktualisieren”-Workflow integrieren lässt.
    Danke für den Beitrag.
    matuzo

    • Martin Funk

      Ja, genau so sehe ich das auch.
      Plugins muss man ja auch manuell updaten. Im Zuge dessen, kann man die Mobile_Detect.php Datei auch aktualisieren.