Czy wp_is_mobile () jest skuteczne?

16

Zamierzam przetestować klienta użytkownika, aby załadował szablon mobilny zamiast motywu pulpitu.

Istnieje wiele mobilnych skryptów wykrywających.

  • Czy wp_is_mobile()funkcja działa dobrze?
  • Jakie jest twoje doświadczenie w porównaniu z innymi klasami, takimi jak np. mobiledetect.net?
Andrea Puiatti
źródło

Odpowiedzi:

15

Tak, działa dobrze. Jest to bardzo prosta funkcja, ale nigdy nie znalazła urządzenia mobilnego, którego nie rozpoznaje. Rozpoznaje 90% + urządzeń mobilnych. Główną różnicą od mobiledetect.net jest to, że nie różni się od telefonu i tabletu.

Zobacz kod

gmazzap
źródło
Ale jak wskazówka - 90% to nie wszystko, a 90% to tylko dzisiaj. Dostajemy bardzo szybkie nowe urządzenie i ta funkcja często nie jest pomocna. Wykluczasz urządzenia, użytkowników z rozwiązania.
bueltge
8

Tak, wp_is_mobile()działa dobrze, ale możesz napotkać problemy podczas korzystania z agresywnych systemów buforowania, takich jak fastcgi, pamięć podręczna proxy itp., Które pomijają wykonanie php.

W takim przypadku poleciłbym metodę wykrywania po stronie klienta (javascript), która jest ładowana zarówno dla przeglądarek mobilnych, jak i stacjonarnych.

Dan Ștefancu
źródło
Trafne spostrzeżenie. Jeśli używasz buforowania całej strony w trybie automatycznym (na żądanie), pamięć podręczna będzie zawierać wersję mobilną LUB komputerową, w zależności od urządzenia, z którego zostało wykonane pierwsze żądanie. Wszystkie dalsze żądania będą obsługiwane w tej wersji, bez względu na typ urządzenia. Jeśli użyjesz rozwiązania buforowania wstępnego (co zawsze robię), wygenerujesz wersje dla komputerów stacjonarnych, a użytkownicy mobilni zawsze je otrzymają.
Ihor Worotnov
6

Używanie tej funkcji jest kiepskim pomysłem. Identyfikacji urządzenia należy zawsze dokonywać po stronie klienta, a agent użytkownika jest prawdopodobnie najgorszym sposobem ustalenia, czy urządzenie obsługuje funkcję X, czy też ma współczynnik kształtu Y.

Zaczynasz go używać, gdy strona jest młoda, a potem rośnie i postanawiasz buforować swój kod HTML i boom, cały kod wykrywający urządzenie przestaje działać ... Lepiej nie chodzić po tym sojuszniku.

Mark Kaplun
źródło
Poparłem twoją odpowiedź, ponieważ moim zdaniem bardzo ważne jest również rozważenie pamięci podręcznej.
Marco Panichi