framework for plugin/theme options panel?

I found that the longest part of a plugin or theme development is creating the options panel, at least in my case.
So i like to know what’s your take on that.
Do you use a ready made framework or class? And if so witch one?
Or do you write it up from scratch? Use the settings API or plain options?

Thanks.

Related posts

Leave a Reply

6 comments

  1. OK so found some more:

    • JeffreyWay /
      WordPress-Theme-Options-Page –
      open source class the project is hosted on github aimed at theme developers,
      looks nice, haven’t used it. (link dead)
      .

    • devinsays / Options-Framework –
      open source Framework the project is
      hosted on github aimed at theme
      developers , i later learned that is
      has evolved in to
      Thematic-options very large
      scaled project that has lots of
      features. (link dead)

    • helgatheviking /
      thematic-options-KIA – open
      source Framework the project is
      hosted on github aimed at help
      developers build options into their
      thematic child themes , witch was
      forked for Thematic-options very much
      up to date.(link dead)

    • WordPress AdminPage Class – a
      commercial solution, packed it
      features and very easy to use.

    • OptionTree plugin – and IDE for
      creating option panels , lots of
      feature and constantly updated,
      downside is: it’s not easily
      integrated in plugins or themes and
      default options are not an option (up
      to version 1.1.1).

    that’s it for now but still looking to here about your experience.

    Update

    After a long time of trying I’ve managed to integrate Options tree with my plugin and after that part was done , I have to say that its never been easier to add options to my plugin, EVER! all done with no code, but using the slick UI that comes with it.
    So as of now its my favorite with a small exception of being a plugin by it self and not a framework witch makes the integration part a lot harder.

    Update2

    If you read the first update then this will be 180 degree turn, i have stopped using Option-Tree witch was hard to integrate in the first place but mainly for the reason that it create an option row in the options database table for each option you add to it so my plugin has created 287 rows in the database and thats bad for many reasons but the main ones are its hard to remove all of them at plugin deactivation and you have to create a get-option call for each one of them so that’s a lot of database calls.
    Since that little set back,I found that most of the frameworks listed up here work in the same manner of each option gets its own row.
    So i modified AdminPage Class to save all options per admin page in an array of options and and now my plugin only generates 7 Rows in the database and at most i only need to call the get_option function 7 times so that saves lots of database calls, I’ll contact the creator of AdminPage Class and ask him to consider this modification but other then that it very easy to use and even easier to manage.

    Last Update

    if anyone is still keeping score here, then i ended up coding my own

    option panel class

    enter image description here
    which it’s main features are:

    • Open source, GPL licensed.
    • Works with plugins as well as themes
    • OOP Code all the way (which means easy to extend and modify).
    • Import Export Options.
    • All Options saved as a single row in a database.
    • Available fields are:
      • Input
      • Textarea
      • Radio button
      • Checkbox
      • Select Dropdown
      • File Upload
      • Image Upload
      • WYSIWYG editor
      • Date Picker
      • Time Picker
      • Color Picker
      • Taxonomy List Dropdwon or checkboxes
      • Post list Dropdown or checkboxes
      • WordPress User Roles Dropdown or checkboxes
      • Syntax Highlighted Code Editor (PHP, CSS, HTML, JAVASCRIPT)
      • Typography Field (set of size, color, face, family fields)
      • Sortable Drag & Drop
      • Repeater Field
      • Plupload field
      • hooks and filters all over the place so you can customize just the way you’d like