Apakah wp_is_mobile () efektif?

16

Saya akan menguji agen pengguna untuk memuat templat seluler alih-alih tema desktop.

Ada banyak skrip deteksi seluler di luar sana.

  • Apakah wp_is_mobile()fungsi berfungsi dengan baik?
  • Apa pengalaman Anda dibandingkan dengan kelas-kelas lain seperti misalnya mobiledetect.net?
Andrea Puiatti
sumber

Jawaban:

15

Ya itu bekerja dengan baik. Ini adalah fungsi yang sangat sederhana tetapi tidak pernah menemukan perangkat seluler yang tidak dikenali olehnya. Ia mengenali 90% + perangkat seluler. Perbedaan utama dari mobiledetect.net adalah tidak berbeda dengan ponsel dan tablet.

Lihat kodenya

gmazzap
sumber
Tetapi sebagai petunjuk - 90% tidak semua, dan 90% hanya hari ini. Kami mendapatkan perangkat baru yang sangat cepat dan fungsi ini sering tidak membantu. Anda mengecualikan perangkat, pengguna dari solusi.
bueltge
8

Ya, ini wp_is_mobile()bekerja dengan baik, tetapi Anda dapat mengalami masalah saat menggunakan sistem caching yang agresif, seperti fastcgi, cache proxy, dll. Yang melewatkan eksekusi php.

Jika demikian, saya akan merekomendasikan beberapa metode deteksi sisi klien (javascript) yang dimuat untuk peramban seluler dan peramban desktop.

Dan Ștefancu
sumber
Itu poin yang bagus. Jika Anda menggunakan caching halaman penuh dalam mode otomatis (per permintaan), cache akan berisi versi seluler ATAU desktop, tergantung pada perangkat apa permintaan pertama dibuat. Semua permintaan lebih lanjut akan dilayani dengan versi ini, apa pun jenis perangkatnya. Jika Anda menggunakan solusi pra-cache (yang selalu saya lakukan), Anda akan mendapatkan versi desktop yang dihasilkan dan pengguna seluler akan selalu mendapatkannya.
Ihor Vorotnov
6

Gagasan buruk untuk menggunakan fungsi itu. Identifikasi perangkat harus selalu dilakukan di sisi klien, dan agen pengguna mungkin merupakan cara terburuk untuk mengidentifikasi apakah suatu perangkat mendukung fitur X atau memiliki faktor bentuk Y.

Anda mulai menggunakannya ketika situs tersebut masih muda dan kemudian situs Anda tumbuh dan Anda memutuskan untuk men-cache HTML Anda dan boom semua kode deteksi perangkat Anda berhenti bekerja ..... Lebih baik untuk tidak berjalan sekutu itu di tempat pertama.

Mark Kaplun
sumber
Saya membatalkan jawaban Anda karena pertimbangan tentang cache juga sangat penting menurut saya.
Marco Panichi