"Extra 1","slug"=>"extra1","help"=>"A little extra something") ); /* * Multi Dimensional Array, requires title, slug and help (all strings) for each * required option */ function __construct($option_group = false, $option_prefix = false){ if(!$option_group) $option_group = $this->option_group; $this->option_group =$option_group; if(!$option_prefix) $option_prefix = $this->option_prefix; $this->option_prefix =$option_prefix; register_setting( $this->option_group, $this->option_prefix, array(&$this, 'validate') ); } function init(){ register_setting( $this->option_group, $this->option_prefix, array(&$this, 'validate') ); } function add_page() { add_options_page($this->menu_page_title, $this->page_title, $this->user_level, $this->menu_slug, array(&$this, 'do_page')); } function option_rows($options = false){ /* $options = * Multi Dimensional Array, requires title, slug and help (all strings) for each * required option */ if(!$options) $options = $this->options; foreach ($options as $option):?> option_name.'['.$option['slug'].']'?> value="" />

page_title;?>

option_group); ?> option_name); ?> option_rows(); ?>

$v){ $input[$k] = wp_filter_nohtml_kses($input[$k]); } return $input; } } function test_options(){ $options = new optionObject("test_options","test_"); //$options->user_level = "read"; $options->page_title = "Test Settings"; $options->menu_page_title = $options->page_title; $options->menu_slug = "test_settings"; $options->options = array( array("title"=>"Test 1","slug"=>"test1","help"=>"Help with Test 1"), array("title"=>"Test 2","slug"=>"test2","help"=>"Help with Test 2") ); $options->init(); add_action('admin_init', array($options, 'add_page')); } add_action('admin_menu', 'test_options' ); ?>