Options Framework Theme

Options Framework Theme

Options Framework Theme

The Options Framework Theme (by Devin Price) has been submitted here many times, especially after all the discussion on the NHP Theme Options Framework thread. I’m not a huge fan of such frameworks, and I think the Settings API is easy enough to use and reuse, but I’ll post my opinion anyway :)

I absolutely love how it uses the top tabs navigation, making it look and feel very native to WordPress, however, I think there are other important conventions the framework might have followed, like settings name on the left and value (control) on the right, description fields in italic and the Farbtastic color picker, which already ships with WordPress and is used by Core.

I also think that uploading an image does not have to be that difficult. There’s nothing wrong in using an input type="file" field, Custom Background and Custom Header do that in core already, while using Plupload and the Thickbox interface just for uploading one file is too much. It’s also confusing, because the end user will face much more options than they need: title, caption, description, link, alignment, size, etc., and ultimately, they have to find the “Use This Image” button to achieve their goal. I think that the file field and the “Choose from image library” option in Core Custom Header and Custom Background (3.4) do a very good job together.

Anyway, that’s just my two cents. What’s more important is your opinion, so post your comments and thoughts, rate, like and share this entry!

15 thoughts on “Options Framework Theme

  1. This is the library I’m using in my Theme, and it’s pretty good. The developer is also pretty helpful and reactive.

    I had to extend it, but it was reasonably easy. I documented my changes here: http://julien-c.fr/2012/03/extending-options-framework/ and also submitted them to Github.

    I find it very cool that there’s such a debate about Options Frameworks these days, as I’ve always found it very weird that WordPress doesn’t include a “Settings Panel API” — and I’m sure the “competition” can lead to better Themes.

      • I’m guessing what Julien means is that the Settings API doesn’t have default callbacks for things like ‘text’, ‘textarea’, ‘colorpicker’, ‘image-uploader’, etc. There’s still a lot of code you need to write yourself (and include in every project)- which is what these option frameworks try to tackle.

  2. Personally, I find that input type=”file” thing confusing (to code I mean, I don’t know how), so I prefer the media library, it’s much easier. The problem with too many options in media library can be solved using “attachment_fields_to_edit” filter hook. Core uses this, but I haven’t used it thus far, so don’t kill me if didn’t work! ;)

    • Hi Hassan, yeah attachment_fields_to_edit and media_upload_tabs can help simplify the interface, but what I’m saying is that the interface should not be there in the first place.

      Even if you absolutely want to use Plupload, you don’t necessarily have to open it in Thickbox, right? You can place the “drop here or click to upload” area instead of the button that triggers the Thickbox. I think that the 3.4 customizer does this well:

      However, as I previously said, I still think file inputs are easier to end users. Most browsers will let you drag and drop a file into the file field too :)

      Thanks for your comment!

  3. Hi Konstantin. Thanks for posting this. I love getting constructive feedback on the options panel.

    I’d also like to mention there’s plugin version for folks who don’t want to bundle all the code directly into their themes: http://wordpress.org/extend/plugins/options-framework/

    I experimented with add_settings_field when the framework was originally developed- but putting everything into a table based layout simply didn’t work for the design and tab structure at the time. It’s probably worth revisiting now.

    Using the custom color picker over Farbtastic was a debate we had early on. Everyone liked the custom color picker much better, so it was kept. But yes, since core does have that ugly Farbtastic one, it should probably be used. :)

    The image uploader was another debated issue, since the framework did originally use an ajax uploader. Thickbox seemed more flexible since it allowed you to pull any item from your media library. However, a “drag and drop” option will be incorporated into an upcoming version of the framework (https://github.com/devinsays/options-framework-plugin/pull/105).

    If anyone else has criticism or feedback, I’d love to hear it.

    There’s a couple other new features in the pipeline too, like completely extensible options and better Google font support.

  4. This particular implementation of tabs is wrong on two accounts:

    It mimicks the clunky big tabs found on the theme page
    It duplicates the tab title by wrapping everything in a metabox.

    You will find a good example of horizontal tabs in the multisite section of wp admin:

    Network Admin -> Sites -> Edit site

    And here they are implemented in the Vantage theme: http://i.imgur.com/9Dame.png

    If you use the correct markup, no additional CSS is necessary.

    • Hey Scribu, thanks so much for stopping by to comment! Honestly that’s one interface I rarely use, so I completely forgot about any other navigation existence there, thanks for the reminder!

      For reference, here’s the Edit site screen with tabs:

      • Great find, George! Screenshot:

        I agree with Scribu, this is the better tabs to use.

      • I don’s see much difference from the large tabs, only color and weight, but as long as it’s something already used in WordPress and does not require extra stylesheets and/or inline CSS to render the tabs, I’m good :)

  5. I’ve used the Options Framework for a while now to develop my themes.
    There are a large panel of options and I think is great for a theme developper to have choice.

    But choice doesn’t mean you have to use them all and you can build a very lightweight admin panel with only the right option at the right place.

    Furthermore, the code is clean and Devin is very reactive.

    I definitly love this script :)
    Good job Devin

  6. Pingback: Vantage Theme Options | Theme Options Gallery

Leave a comment