WHAT WE REQUIRE
You are to build a new customized Menus object for Wordpress’ Customizer. The new Menus object will be similar to the standard Menu object Wordpress has, however, it will have fewer customizations available to the end user.
CUSTOMIZER MENU OBJECT DETAILS
Heading of Customizer Object: “My Menu”
See Image 1 (attached) for how we want the My Menu customizer object to look
Note: The end user will still be able to reorder the items by dragging and dropping them.
Note: The end user will be able to decide whether this menu will be used as a Primary and/or Secondary Menu.
Note: The end user will (1) NOT be able to Add Items, (2) NOT have a Reorder link (but note they will still be able to drag them around as mentions above), (3) NOT have the option to ‘Automatically add new top-level pages…”, (4) NOT be able to rename the “Menu Name” at the top of the object, and (5) NOT have a “Delete Menu” link at the bottom of the customizer object.
See Image 2 (attached) for how we want the My Menu customizer object to look for each menu item
NOTE: A new checkbox will be shown. This checkbox will default to ticked. When the end user ticks this checkbox, the menu item will be physically displayed on the website pages. When the checkbox is unticked by the end user, the menu item will not be physically displayed on the website pages.
See Image 3 (attached) for how we want an admin settings page to be created that will control what pages are shown in this new Customizer Menu object.
NOTE: We require a settings page to be built which will appear in the admin setting menu as a sub menu item called “My Menu Settings”. (Just for your own information, this page will be locked down by us and not accessible by the end user. The end user will only have access to the Customizer Menu object).
NOTE: This settings page will contain a dynamically generated list of all front end pages on the wordpress site TOGETHER WITH a checkbox next to each page. ALSO NOTE: This list of front end pages needs to loop through all front end pages each time this settings subpage is loaded. This way we can add pages to the website, and this list remains dynamic. ALSO NOTE: This checkbox should default to unticked. The page will have a save button at the bottom to save changes.
NOTE: When a checkbox is ticked and the Save button clicked, the page (next to the checkbox) will appear in the above created Customizer “My Menu” Object as a menu item available to the end user to show or not show on their website’s menu.