Title: Mobile Detector
Author: Tubal
Published: <strong>2011 年 12 月 12 日</strong>
Last modified: 2012 年 12 月 21 日

---

搜索插件

**该插件尚未通过WordPress的最新3个主要版本进行测试**。 当与较新版本的WordPress一起
使用时，可能不再受到维护或支持，并且可能会存在兼容性问题。

![](https://s.w.org/plugins/geopattern-icon/mobile-detector.svg)

# Mobile Detector

 作者：[Tubal](https://profiles.wordpress.org/tubal/)

[下载](https://downloads.wordpress.org/plugin/mobile-detector.2.0.2.zip)

 * [详情](https://cn.wordpress.org/plugins/mobile-detector/#description)
 * [评价](https://cn.wordpress.org/plugins/mobile-detector/#reviews)
 *  [安装](https://cn.wordpress.org/plugins/mobile-detector/#installation)
 * [开发进展](https://cn.wordpress.org/plugins/mobile-detector/#developers)

 [支持](https://wordpress.org/support/plugin/mobile-detector/)

## 描述

A lightweight detector of mobile devices, OSs & browsers that, optionally, allows
your site to switch to a mobile theme when a mobile device is detected or when your
users feel like it.

This plugin adds the class **MobileDTS** to WordPress.

#### Mobile Detection

On every request, this plugin will try to detect if the user is viewing your site
with a mobile device or not. If he is, the detector will also give you some info
about the device, browser and OS used.

**Who will be happy with this detector?**

If you need a fast and reliable way to detect if a user is visiting your site with
a mobile device, then you’ll be happy. However, if you need precise information 
about the device used (other than OS and browser) such as screen resolution you 
need a detector such as [DeviceAtlas](http://deviceatlas.com/) or [WURFL](http://wurfl.sourceforge.net/).

**How to query the detector?**

Use the method `MobileDTS::is($key)`. `is()` returns boolean `true` or `false`.

Example:

    ```
    <?php

    if (MobileDTS::is('android')) {
        // User with a mobile device running Android OS
    } else if (MobileDTS::is('ios')) {
        // User with a mobile device running iOS
    } else if (MobileDTS::is('mobile')) {
        // User with a mobile device (any, even 10 years old mobile phones) 
    } else {
        // User with a desktop device   
    }

    ?>
    ```

**Available keys:**

 * `mobile` (Is it a mobile?)
 * `other` (Any other mobile device)

Popular mobile devices

 * `iphone` (Apple iPhone)
 * `ipad` (Apple iPad)
 * `kindle` (Amazon Kindle)

Mobile OS

 * `android` (Android OS)
 * `bada` (Bada OS)
 * `bbos` (Blackberry OS)
 * `ios` (Apple iOS)
 * `palmos` (Palm OS)
 * `symbian` (Symbian OS)
 * `webos` (Hp WebOS)
 * `windows` (Windows Phone OS and older)

Mobile browsers

 * `ff_mobile` (Mozilla Fennec & Firefox mobile)
 * `ie_mobile` (IE mobile)
 * `netfront` (NetFront)
 * `opera_mobile` (Opera Mobile or Mini)
 * `uc_browser` (UC Browser)
 * `webkit_mobile` (Webkit mobile)

#### Theme Switching

You can configure your site to automatically switch to a mobile theme when a mobile
device is detected or when the user requests it (on demand).

Once the plugin is installed, a new submenu titled `Mobile Detector` is added under
the `Settings` menu.

Theme switching is disabled by default. To enable theme switching simply select 
a theme to use as your mobile theme and the plugin will take care of the rest.

This plugin assumes your active theme is optimized for desktop screens only. So,
if you’re using a responsive theme that adapts to any screen size you shouldn’t 
use the theme switching feature (don’t select a theme).

**How it works:**

 * On each page load, this plugin checks for the existence of a cookie that stores
   which theme (mobile-optimized or desktop-optimized) the user prefers to browse.
 * If the cookie exists, the theme the user expects will be displayed.
 * If the cookie does not exist (first-time visitor), this plugin checks whether
   the user is visiting your site with a mobile device or not and, if he is, your
   mobile-optimized theme will be used. Afterwards, a cookie will be set to store
   the user’s “initial preference”.
 * Anytime the user switches (you must create a link/button in your theme using 
   the Template functions below) between themes, the cookie is updated with his 
   preference so the site version (theme) the user expects will be displayed on 
   future visits.

**Template functions**

 * `MobileDTS::get_switch_theme_link()` Returns the current URL with an additional`
   switch_theme` parameter (set automatically to ‘mobile’ or ‘desktop’). You’ll 
   need this function to create a link/button that allows users to switch between
   the desktop and mobile themes. See example below.
 * `MobileDTS::switch_theme_link()`: same as above but this one outputs the URL 
   instead of returning it. URL is escaped.
 * `MobileDTS::get_switch_theme_name()` returns the type of the theme to switch 
   to (either ‘mobile’ or ‘desktop’). Use this method together with `get_switch_theme_link()`.
   The type can be translated to your language (plugin uses wp’s `__()` function
   for ‘mobile’ & ‘desktop’ strings).
 * `MobileDTS::switch_theme_name()` same as above but this one outputs the type 
   instead of returning it.
 * `MobileDTS::is_mobile_theme()` tells you wether your site is displaying to the
   user the mobile theme or not. Returns boolean `true` or `false`.
 * `MobileDTS::is_switcher_enabled()` tells you wether theme switching is disabled
   or not. Returns boolean `true` or `false`.

**Creating a ‘Switch to …’ link**

Let’s create a switch link to allow the user to switch between the 2 versions of
a site (themes):

    ```
    <?php if (MobileDTS::is_switcher_enabled()): // Optional but useful if you need to disable theme switching for a while. ?>

    <a href="<?php MobileDTS::switch_theme_link() ?>">Switch to the <?php MobileDTS::switch_theme_name() ?> version of this site</a>

    <?php endif; ?>
    ```

Paste that code in your templates (usually in `header.php` and/or `footer.php`),
enable theme switching and play a little.

Let’s suppose a user is viewing the site (http://example.com/home) for the first
time with a mobile device and theme switching is enabled. The above code would output
this link:

    ```
    <a href="http://example.com/home?switch_theme=desktop">Switch to the desktop version of this site</a>
    ```

## 屏幕截图

 * [[
 * Theme switching settings page. Select a mobile theme or disable theme switching.

## 安装

 1. Upload `mobile-detector` folder to the `/wp-content/plugins/` directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Done!

## 评价

![](https://secure.gravatar.com/avatar/389e1a46cb862edd2ce6cc820fcf7350fa1a99d0f1cca984d403b425080e844d?
s=60&d=retro&r=g)

### 󠀁[Nice and Simple](https://wordpress.org/support/topic/nice-and-simple-142/)󠁿

 [Adam Pery](https://profiles.wordpress.org/adam1920/) 2017 年 2 月 7 日

Like it

 [ 阅读所有4条评价 ](https://wordpress.org/support/plugin/mobile-detector/reviews/)

## 贡献者及开发者

「Mobile Detector」是开源软件。 以下人员对此插件做出了贡献。

贡献者

 *   [ Tubal ](https://profiles.wordpress.org/tubal/)

[帮助将「Mobile Detector」翻译成简体中文。](https://translate.wordpress.org/projects/wp-plugins/mobile-detector)

### 对开发感兴趣吗?

您可以[浏览代码](https://plugins.trac.wordpress.org/browser/mobile-detector/)，查看
[SVN仓库](https://plugins.svn.wordpress.org/mobile-detector/)，或通过[RSS](https://plugins.trac.wordpress.org/log/mobile-detector/?limit=100&mode=stop_on_copy&format=rss)
订阅[开发日志](https://plugins.trac.wordpress.org/log/mobile-detector/)。

## 更新日志

#### 2.0.2

 * The cookie now has both `path` & `domain` set as per WordPress documentation (
   COOKIEPATH & COOKIE_DOMAIN constants) to avoid some rare cases.
 * Memory footprint reduced since admin related code is from now on in a different
   file.
 * New template function added: `is_switcher_enabled()`.

#### 2.0.1

 * Small bugfix regarding mobile detection.

#### 2.0

 * Complete rewrite. New API.
 * Improved & updated mobile detection engine.
 * Added theme switching.

#### 1.1

 * Code refactored. Cleaner to extend if you need to.
 * Removed `$is_other_os` & `$is_other_browser`.

#### 1.0

 * Initial release.

## 额外信息

 *  版本 **2.0.2**
 *  最后更新：**13 年前**
 *  活跃安装数量 **300+**
 *  WordPress 版本 ** 3.0 或更高版本 **
 *  已测试的最高版本为 **3.5.2**
 *  语言
 * [English (US)](https://wordpress.org/plugins/mobile-detector/)
 * 标签
 * [detector](https://cn.wordpress.org/plugins/tags/detector/)[device](https://cn.wordpress.org/plugins/tags/device/)
   [mobile](https://cn.wordpress.org/plugins/tags/mobile/)[switcher](https://cn.wordpress.org/plugins/tags/switcher/)
   [theme](https://cn.wordpress.org/plugins/tags/theme/)
 *  [高级视图](https://cn.wordpress.org/plugins/mobile-detector/advanced/)

## 评级

 5 星（最高 5 星）。

 *  [  4 条 5 星评价     ](https://wordpress.org/support/plugin/mobile-detector/reviews/?filter=5)
 *  [  0 条 4 星评价     ](https://wordpress.org/support/plugin/mobile-detector/reviews/?filter=4)
 *  [  0 条 3 星评价     ](https://wordpress.org/support/plugin/mobile-detector/reviews/?filter=3)
 *  [  0 条 2 星评价     ](https://wordpress.org/support/plugin/mobile-detector/reviews/?filter=2)
 *  [  0 条 1 星评价     ](https://wordpress.org/support/plugin/mobile-detector/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/mobile-detector/reviews/#new-post)

[查看全部评论](https://wordpress.org/support/plugin/mobile-detector/reviews/)

## 贡献者

 *   [ Tubal ](https://profiles.wordpress.org/tubal/)

## 支持

有话要说吗？是否需要帮助？

 [查看支持论坛](https://wordpress.org/support/plugin/mobile-detector/)