For months, I received a lot of requests asking whether Meta Box is possible to create theme options page or settings page for plugins. People asked this because they love the simplicity of the plugin and the beauty of the syntax (FYI the idea of using array syntax is inspired by Options Framework plugin). If they can integrate Meta Box into WordPress themes for adding custom data for posts, then why can’t they do the same for theme options?
Now it’s possible! The latest extension for creating theme options page and settings page was released some days ago which will help you create your theme options page just in some minutes.
Alternative options for settings page
Prior to MB Settings Page extension, there are several alternatives for you to create a settings page such as:
Maybe more like SMOF (not active), NHP options framework (transferred into a commercial one).
All of these frameworks offer a lot of options. And due to that, they’re heavy and might affect the performance of your admin area in general. If you’re already using Meta Box for your posts, you will have a huge benefit because the Meta Box plugin does all the things such as fields configuration and controls, output behind the scene and the settings page just add a new layer on top of it.
Features of MB Settings Page extension
Flexible: the extension allows you to create top-level menus as well as submenus, as shown in the following screenshot:
It also allows you to create as many settings page as you want. So you can create a normal settings page for the plugin, another FAQ page and another Import/Export page. Everything can be done with just a tiny extension.
Powerful and easy to use: built on top of Meta Box plugin, the extension inherits all field types and their options as well as the beautiful syntax. All fields are registered the same way. That shorten the time to get started using the extension a lot.
Standard UI: the settings fields are organized in meta boxes with 2 columns, the same as in edit post screen. It doesn’t use the tabbed interface, but meta boxes which is quite familiar with WordPress users.
This is one of the most interesting extension that I’ve ever made for Meta Box. Its difference is it doesn’t add more functionality to the core of the plugin or add UI options, but it changes the API of the Meta Box plugin from interacting with post meta to option. It opens a lot of opportunities for development in the future and I’m very exciting about that.
To have clearer understanding about this extension, read this post about creating settings page for Customizer options, and this post about changing the displayed information in a theme using MB Settings Page.