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://wp.tutsplus.com/tutorials/the-complete-guide-to-the-wordpress-settings-api-part-2-sections-fields-and-settings/ (awesome btw)
But for the very quick overview of what to be done, that’s needed:
- hook to admin_init with a function registering settings
- 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)
- 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)
- call add_setting_field to create a simple setting (field ID, field name, callback, page name, section name)
- 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]
- in the template, create a form with post submit with an action of options.php
- call settings_fields with the parameter from register_setting
- call do_settings_sections with the slug of the page where you display it
- save the project