{"id":35514387,"url":"https://github.com/ashawkat/mega-menu","last_synced_at":"2026-01-20T16:55:09.442Z","repository":{"id":71619268,"uuid":"32623969","full_name":"ashawkat/mega-menu","owner":"ashawkat","description":"Enhancements to the wp-admin Menu interface that allow for faster, more robust, and easier to edit menus. Also includes a Related Links Menu.","archived":false,"fork":false,"pushed_at":"2015-03-20T18:49:40.000Z","size":172,"stargazers_count":0,"open_issues_count":0,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-08-02T02:42:24.733Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.bigvoodoo.com","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ashawkat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-21T07:30:47.000Z","updated_at":"2023-08-02T02:42:24.734Z","dependencies_parsed_at":"2023-02-25T04:00:16.426Z","dependency_job_id":null,"html_url":"https://github.com/ashawkat/mega-menu","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/ashawkat/mega-menu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashawkat%2Fmega-menu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashawkat%2Fmega-menu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashawkat%2Fmega-menu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashawkat%2Fmega-menu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ashawkat","download_url":"https://codeload.github.com/ashawkat/mega-menu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ashawkat%2Fmega-menu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28194899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2026-01-03T02:00:06.471Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-03T22:03:23.757Z","updated_at":"2026-01-03T22:04:11.179Z","avatar_url":"https://github.com/ashawkat.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Big Voodoo Mega Menu \u0026 Related Links Menu\n[@bigvoodoo](https://github.com/bigvoodoo), [@firejdl](https://github.com/firejdl), [@thatElectricFeel](https://github.com/thatElectricFeel)\n\nEnhancements to the wp-admin Menu interface that allow for faster, more robust, and easier to edit menus. Also includes a Related Links Menu.\n\n## Description\n\nThis is a plugin for WordPress 3.5+ that enhances the Menu experience in several ways:\n\n* adds enhancements to the wp-admin Menu interface (see below)\n* saves menus to its own table to speed up generation of menus on the front-end\n* adds two shortcodes to displays menus from the admin interface - `[mega_menu]` \u0026 `[related_links]` (see the Installation section)\n\nLicense: [GPLv2 or later](http://www.gnu.org/licenses/gpl-2.0.html)\n\n### Menu Interface Enhancements\n\n* Adds the ability to add a Shortcode and/or custom HTML to any menu! Now you can display forms, widgets, anything you want inside of a menu.\n* Adds the ability to add a \"Column/Section\" to any menu, which allows for logical division of menu items and both simpler and stronger styling.\n  * Columns/Sections can have an optional header with an optional link.\n* Adds the ability to add an existing menu to a menu. Menu items that repeat in several different places can be created as a menu and added multiple times.\n  * Menus can have an optional header with an optional link.\n* Adds a button to the menu item options to add descendents of page in the WP page hierarchy.\n\n### Requirements\n\n* WordPress 3.5+\n* PHP 5.3+\n\n### TODO\n\n* improve documentation (including this document)\n* i18n/L10n\n\n### Inspirations \u0026 Thanks\n\n* [Gecka Submenu](https://github.com/Gecka-Apps/Wordpress_Gecka_Submenu)\n* [Add Descendents as Submenu Items](http://wordpress.org/plugins/add-descendants-as-submenu-items)\n* [Custom Post Type's Archive in WP Nav Menu](http://wordpress.org/plugins/add-custom-post-types-archive-to-nav-menus)\n* [/wp-admin/includes/nav-menu.php:`wp_nav_menu_item_link_meta_box()`](http://core.trac.wordpress.org/browser/tags/3.3.1/wp-admin/includes/nav-menu.php#L573)\n* [Big Voodoo Interactive](http://www.bigvoodoo.com) for letting me write and open-source this plugin :)\n\n## Installation\n\n1. Install the plugin in WordPress \u0026 activate it.\n1. [register](http://codex.wordpress.org/Function_Reference/register_nav_menu) a menu location in your theme.\n1. Setup the menu hierarchy under Appearance -\u003e Menu.\n1. Assign the menu from step 3 to the menu location in step 2.\n1. Use one of the shortcodes to display a menu.\n\n### Shortcodes\n\n**[mega_menu]**\n\nGiven a `theme_location` attribute, this shortcode displays a ul-style Mega Menu for the menu assigned to that location, which can be easily styled with CSS in your theme.\nOptions:\n\n* `theme_location`: The location in the theme to be used - must be registered with [`register_nav_menu()`](http://codex.wordpress.org/Function_Reference/register_nav_menu) in order to be selectable by the user. **required**\n* `before`: Output text before the `\u003ca\u003e` of the link\n* `after`: Output text after the `\u003c/a\u003e` of the link\n* `link_before`: Output text before the link text\n* `link_after`: Output text after the link text\n* `ajax`: if \"true\", loads the Mega part of the menu via AJAX.\n\nExample:\n```php\n[mega_menu theme_location=\"mega\" before=\"\u003cdiv class='surround'\u003e\" after=\"\u003c/div\u003e\" link_before=\"\u003cspan\u003e\" link_after=\"\u003c/span\u003e\"]\n```\n\n**[related_links]**\n\nGiven a `theme_location` attribute, the shortcode displays a Related Links Menu for the menu assigned to that location, which shows either children, siblings, or top-level pages (chosen in that order).\nOptions:\n\n* `theme_location`: The location in the theme to be used - must be registered with [`register_nav_menu()`](http://codex.wordpress.org/Function_Reference/register_nav_menu) in order to be selectable by the user. **required**\n* `before`: Output text before the `\u003ca\u003e` of the link\n* `after`: Output text after the `\u003c/a\u003e` of the link\n* `link_before`: Output text before the link text\n* `link_after`: Output text after the link text\n\nExample:\n```php\n[related_links theme_location=\"mega\"]\n```\n\n### Filters\n\n**walker_nav_menu_start_el**\n\nAllows modification of the `$output`, called when the Walker has created an `\u003cli\u003e` and started populating it.\n\nArguments:\n\n* `$output`: the output for the menu so far.\n* `$item`: the current menu item.\n* `$depth`: the current depth.\n* `$args`: the arguments passed to `Walker_Nav_Mega_Menu`.\n\nExample:\n\n```php\nfunction override_nav_menu_start_el( $output, $item, $depth, $args ) {\n\tif( $args-\u003emenu_type == 'mega' \u0026\u0026 $depth == 0 \u0026\u0026 $args-\u003eajax !== \"true\" ) {\n\t\t// add header\n\t\t$output .= '\u003ch2\u003e' . get_the_title( $item-\u003epost_id ) . '\u003c/h2\u003e';\n\t}\n\treturn $output;\n}\nadd_filter( 'walker_nav_menu_start_el', 'override_nav_menu_start_el', 99, 4 );\n```\n\n**walker_nav_menu_end_el**\n\nAllows modification of the `$output`, called before the Walker adds `\u003c/li\u003e` and after any children are added to the `$output`.\n\nArguments:\n\n* `$output`: the output for the menu so far.\n* `$item`: the current menu item.\n* `$depth`: the current depth.\n* `$args`: the arguments passed to `Walker_Nav_Mega_Menu`.\n\nExample:\n\n```php\nfunction override_nav_menu_end_el( $output, $item, $depth, $args ) {\n\tif( $args-\u003emenu_type == 'mega' \u0026\u0026 $depth == 0 \u0026\u0026 $args-\u003eajax !== \"true\" ) {\n\t\t// add footer\n\t\t$output .= '\u003cdiv class=\"menu_footer\"\u003efooter for ' . get_the_title( $item-\u003epost_id ) . '\u003c/div\u003e';\n\t}\n\treturn $output;\n}\nadd_filter( 'walker_nav_menu_end_el', 'override_nav_menu_end_el', 99, 4 );\n```\n\n## Changelog\n\n### 0.4.0\n\n* fixed several bugs\n* added simple timeout for moving the mouse into/out of the target\n\n### 0.3.0\n\n* added options to use some basic default JS \u0026 CSS\n* added ability to load Mega part of the menu via AJAX\n* fixed some bugs\n\n### 0.2.0\n\n* complete rewrite from the ground up\n\n### 0.1.0\n\n* initial release\n\n## Upgrade Notice\n\n### 0.4.0\n\n* fixed several bugs\n* added simple timeout for moving the mouse into/out of the target\n\n### 0.3.0\n\n* added options to use some basic default JS \u0026 CSS\n* added ability to load Mega part of the menu via AJAX\n* fixed some bugs\n\n### 0.2.0\n\n* complete rewrite from the ground up\n\n### 0.1.0\n\n* initial release\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashawkat%2Fmega-menu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashawkat%2Fmega-menu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashawkat%2Fmega-menu/lists"}