Hoàng Web

Thiết Kế Website WordPress

  • Kho giao diện
  • Dịch Vụ
    • Thiết kế web giá rẻ
    • Thiết kế website WordPress
    • Hosting Miễn Phí 100GB
    • Tích hợp thanh toán MoMo, ViettelPay, Vietcombank, MB..
    • Tối ưu Google PageSpeed
    • Sửa lỗi nâng cấp website
    • Viết plugin WordPress
    • Code Tool theo yêu cầu
  • Bảng giá
  • Quy trình làm việc
  • Giới thiệu
  • Liên Lạc
Trang chủ » Programming » PHP » Cách phát hiện thiết bị người dùng mobile bằng php

Cách phát hiện thiết bị người dùng mobile bằng php

Thứ Bảy, 09/08/2014 by Hoàng Quách

Nội dung

  • 1 Phát hiện hệ điều hành Platform
  • 2 Đối với WordPress
    • 2.1 Sử dụng shortcode – phát hiện thiết bị
    • 2.2 Sử dụng hàm phát hiện thiết bị mobile
  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Phát hiện thiết bị người dùng mobile là cách bạn chuyển giao diện mobile của trang web khi người dùng sử dụng thiết bị di động hay máy tính bảng lướt website của bạn. Có nhiều pluống hỗ trợ phát hiện thiết bị di động cho wordpress cũng như mã nguồn khác. Nhưng trong bài viết này mình không nói chi tiết về cách sử dụng plugin để tạo giao diện mobile để chạy trên thiết bị di động, mà mình tìm được một thư viện PHP giúp bạn phát hiện ra chính xác loại thiết bị trong khi duyệt trang web.

Phát hiện thiết bị người dùng mobile

Thư viện mình nói tới ở trên chính là Mobile Detect. Mobile Detect là một lớp thư viện PHP sử dụng để phát hiện thiết bị mobile bao gồm cả tablets. Nó sử dụng chuỗi User-Agent ở HTTP headers giúp phân biệt giữa môi trường mobile và desktop.

Tải thư viện Mobile Detect tại đây. Nếu không tải được thử với link này https://app.box.com/s/f8titfen5ufmfp3otquc.

Thư viện này được tích hợp vào một số mã nguồn mở như: WordPress, Drupal, Joomla, Magento, etc. Bạn có thể tìm thấy ở đây: 3rd party plugins

Sau khi tải về, tiến hành giải nén và upload thư mục đã giải nén lên host. Để phát hiện ra thiết bị mobile bạn tạo instance lớp Mobile_Detect ở file Mobile_Detect.php và gọi hàm kiểm tra như sau.

// Include and instantiate the class.
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
 
// Any mobile device (phones or tablets).
if ( $detect->isMobile() ) {
 
}

Và những gì bạn cần làm là chèn code bạn muốn sử lý trên thiết bị mobile với điều kiện true của phương thức isMobile. Ví dụ bạn có thể chèn mã adsence dành cho mobile, và bất kỳ lệnh nào đó tùy theo mục đích ý đồ của bạn.

Đoạn code này phát hiện đang trên máy tính bảng (tablet).

// Any tablet device.
if( $detect->isTablet() ){
 
}

Bạn cũng có thể kết hợp các điều kiện để lọc thiết bị một cách chính xác hơn. Ví dụ loại bỏ thiết bị tablet.

// Exclude tablets.
if( $detect->isMobile() && !$detect->isTablet() ){
 
}

Phát hiện hệ điều hành Platform

Không chỉ vậy, thư viện Mobile Detect còn có thể tìm ra hệ điều hành của thiết bị mobile như IOS, Android.

// Check for a specific platform with the help of the magic methods:
if( $detect->isiOS() ){
 
}
//android os
if( $detect->isAndroidOS() ){
 
}

Ngoài sử dụng các phương trên, có thể sử dụng chung phương thức cho các loại thiết bị và trình duyệt khác nhau.

// Alternative method is() for checking specific properties.
// WARNING: this method is in BETA, some keyword properties will change in the future.
$detect->is('Chrome')
$detect->is('iOS')
$detect->is('UC Browser')
// [...]

Đối với WordPress

Nếu bạn xây dựng website với wordpress, bạn có thể sử dụng trực tiếp thư viện Mobile Detect ở trên hoặc tải plugin WordPress Mobile Detect. Cài đặt plugin như bình thường.

Plugin này cung cấp một loạt các shortcodes giúp bạn chèn nội dung khác nhau với mỗi loại thiết bị.
Bạn có thể sử dụng shortcode trong nội dung post/page, thậm trí widget text hoặc cũng có thể chèn vào code.

Sử dụng shortcode – phát hiện thiết bị

Danh sách các shortcode bạn có thể cần sử dụng:

[phone]Put content here that you only want displayed on Phones NOT Tablets or Desktops[/phone]
[tablet]Put content here that you only want displayed on Tablets NOT Phones or Desktops[/tablet]
[device]Put content here that you only want displayed on Phones OR Tablets NOT Desktops[/device]
[notphone]Put content here that you only want displayed on Tablets OR Desktops NOT Phones[/notphone]
[nottab]Put content here that you only want displayed on Phones OR Desktops NOT Tablets[/nottab]
[notdevice]Put content here that you only want displayed on Desktops NOT Phones OR Tablets[/notdevice]
[ios]Put content here that you only want displayed on iOS devices[/ios]
[iPhone]Put content here, that you only want displayed on iPhones[/iPhone]
[iPad]Put content here, that you only want displayed on iPads[/iPad]
[android]Put content here, that you only want displayed on Android devices[/android]
[windowsmobile]Put content here, that you only want displayed on Windows Mobile devices[/windowsmobile]

Sử dụng hàm phát hiện thiết bị mobile

Plugin cũng có sẵn các hàm giúp bạn phát hiện thiết bị, nếu như không muốn dùng shortcode.

  • wpmd_is_notphone() – trả về true với desktops hoặc tablets
  • wpmd_is_nottab() – không phải tablet ( trả về true với desktops hoặc phones)
  • wpmd_is_notdevice() – không phải thiết bị mobile (desktops only)
  • wpmd_is_phone() – phát hiện là thiết bị mobile không phải desktop hoặc tablet.
  • wpmd_is_tablet() – thiết bị tablet.
  • wpmd_is_device() – máy tính bảng tablet hoặc mobile.
  • wpmd_is_ios() – đây là thiết bị iOS
  • wpmd_is_iphone() – thiết bị iPhones
  • wpmd_is_ipad() – đây là iPads
  • wpmd_is_android() – thiết bị này là Android
  • wpmd_is_windows_mobile() – thiết bị này có hệ điều hành Windows Mobile

Các mã nguồn khác vì không có thời gian nên mình dừng tại đây, bạn có thể tham khảo tại đây nhé:
https://github.com/serbanghita/Mobile-Detect#3rd-party-modules–submit-new

Để nhận được bài viết mới vui lòng đăng ký kênh kiến thức WordPress từ A-Z ở Form bên dưới. Bạn cũng có thể nhận được sự trợ giúp trên Twitter và Facebook

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Chuyên mục: PHP Tìm kiếm: user agent

Tôi giúp gì cho bạn?

HOÀNG WEB

Địa chỉ: Tây Sơn, Phường Quang Trung, Quận Đống Đa, Hà Nội

Hotline: 0987 342 124 – 0868 292 303 (8h:00 – 21h:00)

Email: [email protected]

Website: www.hoangweb.com

KẾT NỐI VỚI TÔI

  • Facebook
  • GitHub
  • YouTube

SẢN PHẨM

  • Plugin Thanh Toán Quét Mã QR Code Tự Động
  • WP2Speed – Tối ưu Google Speed
  • 23WebHost – Hosting Miễn Phí 100GB

LIÊN KẾT

  • Có nên thuê thiết kế website giá rẻ?
  • Hướng dẫn thanh toán
  • Chính sách hoàn tiền
  • Trung tâm hỗ trợ

Copyright © 2023 | All rights reserved | HOANG WEB
Mọi hình thức sao chép nội dung trên website này mà chưa được sự đồng ý đều là trái phép.