Settings API in 9 Steps

I’m going to update my DX Plugin Base script soon with sample code, but Settings API are something that needs a few lines of text too.

There are several good resources for that, such as:

http://codex.wordpress.org/Settings_API

http://ottodestruct.com/blog/2009/wordpress-settings-api-tutorial/

http://www.presscoders.com/2010/05/wordpress-settings-api-explained/

http://wp.tutsplus.com/tutorials/the-complete-guide-to-the-wordpress-settings-api-part-2-sections-fields-and-settings/ (awesome btw)

http://blog.gneu.org/2010/09/intro-to-the-wordpress-settings-api/

But for the very quick overview of what to be done, that’s needed:

  1. hook to admin_init with a function registering settings
  2. call register_setting to reserve a slot in the DB where the setting is to be stored (setting name for DB, how is it stored in DB)
  3. call add_setting_section to create a section for settings (setting name, setting title, callback func, page on which to display – existing slug or a new one)
  4. call add_setting_field to create a simple setting (field ID, field name, callback, page name, section name)
  5. in the callback function for a field, get the option (param 2 from step 2) and use it as a value from the array, such as $option_arr[specific_field]
  6. in the template, create a form with post submit with an action of options.php
  7. call settings_fields with the parameter from register_setting
  8. call do_settings_sections with the slug of the page where you display it
  9. save the project

One thought on “Settings API in 9 Steps

Your thoughts?