Эффективен ли wp_is_mobile ()?

16

Я собираюсь протестировать пользовательский агент для загрузки мобильного шаблона вместо темы рабочего стола.

Существует множество сценариев обнаружения мобильных устройств.

  • Есть ли wp_is_mobile()функция работает хорошо?
  • Каков ваш опыт по сравнению с другими классами, например mobiledetect.net?
Андреа Пуятти
источник

Ответы:

15

Да, это работает хорошо. Это очень простая функция, но никогда не находила мобильное устройство, не распознаваемое им. Он распознает более 90% мобильных устройств. Основное отличие от mobiledetect.net в том, что не отличается от телефона и планшета.

См код

gmazzap
источник
Но как подсказка - 90% это еще не все, а 90% - это только сегодня. Мы получаем очень быстрое новое устройство, и эта функция часто бесполезна. Вы исключаете устройства, пользователей из решения.
Бюлтге
8

Да, wp_is_mobile()работает хорошо, но вы можете столкнуться с проблемами при использовании агрессивных систем кэширования, таких как fastcgi, прокси-кеш и т. Д., Которые пропускают выполнение php.

Если это так, я бы рекомендовал какой-нибудь метод обнаружения на стороне клиента (javascript), который загружается как для мобильных, так и для настольных браузеров.

Дэн Штефанку
источник
Неплохо подмечено. Если вы используете полное кэширование страниц в автоматическом режиме (для каждого запроса), он будет содержать версию для мобильного ИЛИ настольного компьютера, в зависимости от того, с какого устройства был сделан первый запрос. Все дальнейшие запросы будут обслуживаться с этой версией, независимо от того, какой это тип устройства. Если вы используете решение предварительного кэширования (которое я всегда использую), вы получите сгенерированные версии для настольных компьютеров, а мобильные пользователи всегда получат их.
Игорь Воротнов
6

Это дерьмовая идея использовать эту функцию. Идентификация устройства всегда должна выполняться на стороне клиента, и пользовательский агент, вероятно, является худшим способом определения того, поддерживает ли устройство функцию X или имеет форм-фактор Y.

Вы начинаете использовать его, когда сайт молодой, а затем ваш сайт растет, и вы решаете кэшировать свой HTML-код, и бум, когда весь код обнаружения вашего устройства перестает работать ..... Лучше не спускаться с этого союзника.

Марк Каплун
источник
Я проголосовал за ваш ответ, потому что на мой взгляд очень важны соображения о кеше.
Марко Паничи