Title: Codepress Menu
Author: David Mosterd
Published: <strong>2012 年 8 月 17 日</strong>
Last modified: 2013 年 8 月 2 日

---

搜尋外掛

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

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

# Codepress Menu

 由 [David Mosterd](https://profiles.wordpress.org/davidmosterd/) 開發

[下載](https://downloads.wordpress.org/plugin/codepress-menu.2.3.2.zip)

 * [詳細資料](https://tw.wordpress.org/plugins/codepress-menu/#description)
 * [使用者評論](https://tw.wordpress.org/plugins/codepress-menu/#reviews)
 *  [安裝方式](https://tw.wordpress.org/plugins/codepress-menu/#installation)
 * [開發資訊](https://tw.wordpress.org/plugins/codepress-menu/#developers)

 [技術支援](https://wordpress.org/support/plugin/codepress-menu/)

## 外掛說明

Uses the native [wp_nav_menu()](https://codex.wordpress.org/Function_Reference/wp_nav_menu).
Add parameters to the wp_nav_menu() to enable functionality.
 Also, ships with one-
click delete menu-items in the WordPress admin. Turned off or on using the screen-
options. Sweet.

**Examples**

This will get the first sub-menu from the active branch and 2 levels beyond (menu
+ sub-menu + sub-menu):

    ```
    wp_nav_menu( array(
        'level' => 2,
        'depth' => 3
    ));
    ```

Show the current branch only:

    ```
    wp_nav_menu( array(
        'level' => 1
    ));
    ```

Aimed on simple use in various use cases:

    ```
    // display first level in the header
    wp_nav_menu( array(
        'depth' => 1
    ));

    // display first sub-menu from the current branch somewhere else
    wp_nav_menu( array(
        'depth' => 2,
        'level' => 2
    ));
    ```

Another feature is it’s control over the css classes that are given to a menu-item.
You might be faced with css selectors
 which you cannot change. The ‘codepress_menu_filter_classes’
filter can be used in your functions.php to set the class property:

    ```
    /**
     * Change the classes of a menu item
     *
     * @param array $classes List current classes
     * @param object $item Current menu item
     * @param array $items Current list of items (per level)
     * @param integer $k Key of the current item in $items
     */
    function codepress_menu_item_classes( $classes, $item, $items, $k ) {
        // mark the first item
        if ( reset( $items ) == $items[ $k ] )
            $classes[] = 'first';

        // mark the last item
        if ( end( $items ) == $items[ $k ] )
            $classes[] = 'last';

        // map the WordPress default 'current-menu-item' class to 'active'
        if ( in_array( 'current-menu-item', $classes ) )
            $classes[] = 'active';

        return $classes;
    }
    add_filter( 'codepress_menu_item_classes', 'codepress_menu_item_classes', 10, 4 );
    ```

**Simple Menu Delete**

It ships with one-click delete menu-items within WordPress.
 This functionality 
was integrated from our Simple Menu Delete plugin and enhanced a bit:

 * Turned off or on using the screen-options.
 * Display is more in line with WordPress’s way of delete-links.
 * Works exactly the same now as the nested delete-link which is a click further
   inside the menu item.

## 安裝方式

Search for `codepress menu` as described in the [Codex](https://codex.wordpress.org/Managing_Plugins#Installing_Plugins)

or

 1. Upload codepress-menu to the `/wp-content/plugins/` directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress

Now you can use wp_nav_menu() with enhanced super-powers 😉

## 常見問題集

  Something is broken? Have an idea?

Great! Tell us, we’d love to help out.

## 使用者評論

這個外掛目前沒有任何使用者評論。

## 參與者及開發者

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

參與者

 *   [ David Mosterd ](https://profiles.wordpress.org/davidmosterd/)
 *   [ Tobias Schutter ](https://profiles.wordpress.org/tschutter/)

[將〈Codepress Menu〉外掛本地化為台灣繁體中文版](https://translate.wordpress.org/projects/wp-plugins/codepress-menu)

### 對開發相關資訊感興趣？

任何人均可[瀏覽程式碼](https://plugins.trac.wordpress.org/browser/codepress-menu/)、
查看 [SVN 存放庫](https://plugins.svn.wordpress.org/codepress-menu/)，或透過 [RSS](https://plugins.trac.wordpress.org/log/codepress-menu/?limit=100&mode=stop_on_copy&format=rss)
訂閱[開發記錄](https://plugins.trac.wordpress.org/log/codepress-menu/)。

## 變更記錄

#### 2.3.2

 * Fixed a strict standards warning when calling walk()

#### 2.3.1

 * Fixed a bug where adding menu items would not show the remove link

#### 2.3

 * A more WordPress-like implementation of the menu-item class control.
 * Added a one-click delete for menu-items in wp-admin (can be turned off or on 
   via screen options).
 * Minor code cleanup, adhering WordPress standards… even more!

#### 2.2.2

 * get_nav_menu_locations() in WordPress < 3.6 can return false, will now check 
   if it is an array and not break the foreach loop.
 * Minor code cleanup, adhering WordPress standards.

#### 2.2.1

 * Now checks if a given theme_location exists and is set or will just return the
   $args and let WordPress handle the parsing.
 * Unsets an item once it has a match in the indent function, better performance.
 * Removed the extraction from the indent function, slightly better performance.
 * Minor code cleanup, adhering WordPress standards.

#### 2.2

 * Bugfix: level set higher then 2 sometimes gave incorrect results.
 * Recoded it to match the WordPress coding standards (hope we managed to do this).
 * The items no longer have a separate class. It was not needed after all and this
   is more of a WordPress approach.
 * Added a filter (codepress_ignore_theme_locations) to tell the plugin not to apply
   on certain theme locations.
 * Removed some hooks that could only cause unwanted behavior and mostly targeted
   the separate item class (codepress_menu_return_false_on_empty_list_after_filters,
   codepress_menu_filter_classes, codepress_menu_items, codepress_menu_set_walker,
   codepress_menu_item_sanitize_classes).
 * Allowed the item-id. We see no harm in it after all. (codepress_menu_item_sanitize_id)

#### 2.1.2

 * Now checks if the filters have not reduced the amount of items to zero. If so,
   act as wp_nav_menu and return false.
 * When a theme location is used in conjunction with the plugin, it now returns 
   an empty string.

#### 2.1.1

 * ‘sanitize’ option is replaced by ‘classes’ and now defaults to doing nothing.
   Choosing ‘simple’ as option will result in what the default sanitize did in the
   2.0 version.

#### 2.1

 * Now hooks into the native wp_nav_menu() and abandons the use of a custom function.
 * Extends the Walker_Nav_Menu class and most of it’s filters and functions are 
   used to keep as close to the WordPress core as possible.
 * You can no longer fetch an array of items and apply filters on it as you see 
   fit. This functionality may return, but the focus of this version was on integration
   with wp_nav_menu().

#### 2.0

 * Initial public release.

## 中繼資料

 *  版本 **2.3.2**
 *  最後更新 **13 年前**
 *  啟用安裝數 **90+**
 *  WordPress 版本需求 ** 3.1 或更新版本 **
 *  已測試相容的 WordPress 版本 **3.6.1**
 *  語言
 * [English (US)](https://wordpress.org/plugins/codepress-menu/)
 * 標籤:
 * [menu](https://tw.wordpress.org/plugins/tags/menu/)[nav](https://tw.wordpress.org/plugins/tags/nav/)
   [navigation](https://tw.wordpress.org/plugins/tags/navigation/)[submenu](https://tw.wordpress.org/plugins/tags/submenu/)
   [walker](https://tw.wordpress.org/plugins/tags/walker/)
 *  [進階檢視](https://tw.wordpress.org/plugins/codepress-menu/advanced/)

## 評分

 5 星，滿分為 5 星

 *  [  2 個 5 星使用者評論     ](https://wordpress.org/support/plugin/codepress-menu/reviews/?filter=5)
 *  [  0 個 4 星使用者評論     ](https://wordpress.org/support/plugin/codepress-menu/reviews/?filter=4)
 *  [  0 個 3 星使用者評論     ](https://wordpress.org/support/plugin/codepress-menu/reviews/?filter=3)
 *  [  0 個 2 星使用者評論     ](https://wordpress.org/support/plugin/codepress-menu/reviews/?filter=2)
 *  [  0 個 1 星使用者評論     ](https://wordpress.org/support/plugin/codepress-menu/reviews/?filter=1)

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

[查看全部使用者評論](https://wordpress.org/support/plugin/codepress-menu/reviews/)

## 參與者

 *   [ David Mosterd ](https://profiles.wordpress.org/davidmosterd/)
 *   [ Tobias Schutter ](https://profiles.wordpress.org/tschutter/)

## 技術支援

使用者可在技術支援論壇提出意見反應或使用問題。

 [檢視技術支援論壇](https://wordpress.org/support/plugin/codepress-menu/)