Black Studio Touch Dropdown Menu

外掛說明

Navigation dropdown menus are widely used, especially on sites with lots of pages and/or categories, as they allow to navigate directly to almost every page of the site, with no need to navigate through all the intermediate pages in the hierarchy. Unfortunately dropdown menus do not work well with mobile / touch devices, because the “mouseover” event is not handled, so when the user click a top level menu, the browser follows the link instead of opening the dropdown menu. This plugin is a solution for that situation. On touch devices, the first click / tap on a top level menu (or, in general on any menu with children) only expands the nested dropdown menu, while the second one brings to the link. This is the same behavior natively adopted by iPad / iPhone starting from iOS version 5, so this plugin is intended to work with previous versions of iOS and with other mobile platforms that do not have such native behavior (Android, Windows, etc).

連結

Get involved

功勞

This plugin was inspired by the article “Make CSS drop-down menus work on touch devices” written by Ross McKay, although it uses a totally different javascript code.

安裝方式

This section describes how to install and use the plugin.

  1. Install automatically through the Plugins menu and Add New button (or upload the entire black-studio-touch-dropdown-menu folder to the /wp-content/plugins/ directory)
  2. Activate the plugin
  3. This plugin has no options, it only modifies the behavior of navigation dropdown menus, by including a javascript file on the frontend of your site

常見問題集

How to customize the plugin’s behavior

By default the plugin applies its behavior to all hyperlinks that are direct children of nested unordered list. This is corresponding to the following jQuery selector: li:has(ul) > a, which is very generic and should fit with almost every theme. In some case the use of this generic selector may cause unexpected behaviors on nested unordered lists that are not navigation menus and do not have any dropdown effect applied. To workaround this, the plugin provides the filter black_studio_touch_dropdown_menu_selector, that allows advanced users to customize the selector to use.

Example (based on Twenty Eleven theme markup):

add_filter( 'black_studio_touch_dropdown_menu_selector', 'my_custom_selector' );
function my_custom_selector( $selector ) {
    return 'nav li:has(ul) > a';
}
Forcing plugin’s behavior on iOS

The plugin behavior is intentionally disabled on Apple devices with iOS version 5 or later, as it should be provided natively by the devices. Anyway, if you want to force the application even on these devices, there’s a filter hook for that. You may use the following snippet:

add_filter( 'black_studio_touch_dropdown_menu_force_ios5', 'my_force_ios5' );
function my_force_ios5( $force ) {
    return true;
}
疑難排解

If you think the plugin doesn’t work as expected. please post a message in the Support forum, providing the following information:

  • Description of the problem and steps to reproduce it
  • Error messages if any (especially in the browser javascript console)
  • Browser / OS / Device in use
  • WordPress version in use
  • WordPress theme in use
  • List of other WordPress plugins installed

使用者評論

2019 年 2 月 2 日
Just install and activate it, and on my twentytwelve child theme the menu is working again on tablets. But for smart phones I use in addition the plugin WP Responsive Menu. This way the old twentytwelve theme is fine again on smart phones, tablets and desktop. Thanks!
2016 年 9 月 3 日
Easy to install. Seems to solve the menu issues when using a tablet and the Hueman theme.
2016 年 9 月 3 日
Easy to install - and that was it - no settings to play work and worked right away. My issues was both mega menu and drop down menu not working on mobile (opening the link instead of the next level of navigation). Worked fantastic!
2016 年 9 月 3 日
Works like a charm! Now I won't be losing my mobile customers.
2017 年 2 月 7 日
Not working for me at all. I'm using s Samsung Galaxy S4 and tried it with both the stock browser and Chrome. Doesn't do anything when I click on the top-level menu item -- I expect a dropdown to appear. If I click a second time, it takes me to the top-level page. I never see the second-level menu items. It would be nice if a developer would actually visit the support forum, but since it's been months, I thought I'd post here. [ link redacted, please do not post links in the reviews section ]
閱讀全部 22 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈Black Studio Touch Dropdown Menu〉的開發相關工作。

參與者

將 Black Studio Touch Dropdown Menu 外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

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

變更記錄

1.0.1 (2017-11-28)

  • Maintenance release to avoid the plugin being marked as not up to date
  • Updated documentation

1.0.0 (2015-11-20)

  • Total refactoring of plugin’s source code
  • Added project to GitHub
  • Improved code quality and security thanks to Scrutinizer service
  • Improved development workflow thanks to Grunt

0.3 (2014-08-02)

  • Added support for Internet Explorer 10+ on Windows 8 touch devices
  • Fixed weird chars in js file
  • Integration with WordPress SCRIPT_DEBUG constant for javascript debugging purposes
  • Enhanced plugin internal version handling

0.2 (2012-09-05)

  • General code optimization (thanks to Ross McKay for the useful suggestions)
  • Javascript minified

0.1 (2012-09-04)

  • First beta release