這個外掛並未在最新的 3 個 WordPress 主要版本上進行測試。開發者可能不再對這個外掛進行維護或提供技術支援,並可能會與更新版本的 WordPress 產生使用上的相容性問題。

mobble

外掛說明

mobble provides mobile related conditional functions for your site. e.g. is_iphone(), is_mobile() and is_tablet().

CSS media queries are great for creating responsive web designs but they do not always provide enough control. There are times when not all of the content, JavaScript or CSS on a page is relevant for a particular device. With the mobble functions you can make these kind of tweaks to your theme.

mobble can also add device information to the body class of your theme allowing you to easily target your CSS for different gadgets.

a plugin by Scott Evans

螢幕擷圖

  • Code example - loading different navigations for mobile and desktop.
  • mobble settings screen for enabling/disabling the body class.

安裝方式

To install this plugin:

  1. Upload the mobble folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. You can now use <?php is_mobile(); is_tablet(); // etc ?> functions in your themes/templates
  4. If you want you can also disable the device specific body classes in the WordPress Admin->Settings->mobble setting section

常見問題集

Installation Instructions

To install this plugin:

  1. Upload the mobble folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. You can now use <?php is_mobile(); is_tablet(); // etc ?> functions in your themes/templates
  4. If you want you can also disable the device specific body classes in the WordPress Admin->Settings->mobble setting section
What functions are available?

The most useful ones are:

<?php
is_handheld(); // any handheld device (phone, tablet, Nintendo)
is_mobile(); // any type of mobile phone (iPhone, Android, etc)
is_tablet(); // any tablet device
is_ios(); // any Apple device (iPhone, iPad, iPod)
?>

You can also use:

<?php
is_iphone();
is_ipad();
is_ipod();
is_android();
is_blackberry();
is_opera_mobile();
is_symbian();
is_kindle();
is_windows_mobile();
is_motorola();
is_samsung();
is_samsung_tablet();
is_sony_ericsson();
is_nintendo();
?>

Inspecting Mobile_Detect.php will also reveal some other useful tools.

Do you have any examples?

Yup. This first example disables the sidebar for mobile/phone devices:

<?php
if (!is_mobile()) {
    get_sidebar();
}
?>

This second example loads a specific stylesheet for Apple devices (iPhone, iPod and iPad):

<?php
if (is_ios()) {
    wp_enqueue_style('ios', get_template_directory_uri() . '/ios.css');
}
?>
Caching

Please note that in certain setups caching will cause undesired behaviour. If your cache is set too aggressively PHP will be skipped and the device detection will not work.

使用者評論

2017 年 9 月 14 日
This plugin can be very useful, I used it to implement a "View desktop version" so thanks for your work! 🙂
2017 年 1 月 21 日
hey scott, just wanted to drop by and to say thank you! for the time and effort that went into creating and maintaining this plugin. I use it in any project and it made my life a lot easier
閱讀全部 44 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈mobble〉的開發相關工作。

參與者

mobble 外掛目前已有 2 個本地化語言版本。 感謝全部譯者為這個外掛做出的貢獻。

將 mobble 外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

1.6

  • Mobile Detect 2.8.24
  • Add edge body class (props Luca Speranza)
  • Add filters to functions (props Matthew Keasling)

1.5

  • Add German translation (props @rpkoller)
  • Minor PHP improvements
  • Mobile Detect 2.8.17

1.4

  • Run through PHP tidy
  • Mobile detect update to 2.8.13

1.3

  • Update mobile detect library to 2.7.6
  • Small CSS change for 3.8

1.2.1

  • Small bug fix on is_mobile()
  • Moved screenshots out of trunk

1.2

  • Now uses mobile-detect (http://mobiledetect.net/) which provides more accurate and varied detection
  • Mobiles can now be graded (A,B,C) using the mobile-detect API (see mobile-detect.php) or mobiledetect.net
  • is_palm, is_lg, is_nokia will be removed soon – check depricated notices
  • New check for is_kindle – feedback on this one appreciated as I cannot test it

1.1

  • Correction to the PHP.
  • New body class of .desktop for anything not handheld
  • Tested on 3.2+

1.0

  • Initial release.