For me this is such a clear and natural need that I can only wonder to find discussions from 5 years ago where this was expressed already, and up-to-date stays unsolved. In most scenarios my clients, and I guess the clients of nearly every other webdesigner, don’t have much knowledge or intuition about design – that’s why they hire us. But we give them WordPress because we want to enable them editing their content by themselves: texts, images, media. They also want to add pages, and here we stumble into a strange issue that disqualifies WordPress to be called a true CMS out-of-the-box. The ability to edit the menu and to add new pages to appear there is not treated as content editing, but placed in the theme section. Even if from a coding point of view menu’s are part of the theme’s framework, the editing is not and needs to be accessible for clients WITHOUT giving access to all the manifold theme customizations of which they should in their own interest not touch any button.

I patchworked my solution that works in actual WP 4.4.1 as I desire it, hoping it will last a while. The first two (gp_) functions are the plugin Editor Menu and Widget Access by Guy Primavera.

 

But he left the customization option open, I wanted to close it, so I had to add another piece of code from the depth of the internet, and since it removed the entry “Customize” but not “Background” in my case, I had to add one more code.

 

And then I discovered one more thing. In the widget and menu screen there is a button called “Manage in Customizer”. Another entrance into the whooooole world of theme customization, which in case of feature rich themes means basically everything can be ruined with a few clicks. I wanted to remove them via CSS but then I found THE hope on the horizon of my needs: http://wptavern.com/new-plugin-removes-all-traces-of-the-customizer-in-wordpress

With this plugin the customizer can be completely disabled, which is a bit too much since I as the admin still want to enjoy it. So I continued my patchwork that for sure makes every serious PHP coder’s hair stand on end, but what can I do. Please comment the correct programming solution if you are one of those. (The “if role = editor” entries are from me).

 

Anything else than ideal, but working and making me happy : ) Just add all of those to your child-theme’s functions.php if you share my interest of client-friendliness.

The developers of the Customizer Remove All Parts Plugin aim to make it work selectively and with user roles, so I hope that soon this patchwork can be completely replaced by their plugin. If you improve this solution, please share here or contact the developers. Everything runs faster in a group.