/** * Builds out the options panel. * * If we were using the Settings API as it was intended we would use * do_settings_sections here. But as we don't want the settings wrapped in a table, * we'll call our own custom wpr_optionsframework_fields. See options-interface.php * for specifics on how each individual field is generated. * * Nonces are provided using the settings_fields() * * @since 1.7.0 */ function options_page() { ?> <div id="wpr_optionsframework-wrap" class="wrap"> <?php $menu = $this->menu_settings(); ?> <h2><?php echo esc_html($menu['page_title']); ?> </h2> <h2 class="nav-tab-wrapper"> <?php echo Wpr_Options_Framework_Interface::wpr_optionsframework_tabs(); ?> </h2> <?php settings_errors('options-framework'); ?> <div id="wpr_optionsframework-metabox" class="metabox-holder"> <div id="wpr_optionsframework" class="postbox"> <form action="options.php" method="post"> <?php settings_fields('wpr_optionsframework'); ?> <?php Wpr_Options_Framework_Interface::wpr_optionsframework_fields(); /* Settings */ ?> <div id="wpr_optionsframework-submit"> <input type="submit" class="button-primary" name="update" value="<?php esc_attr_e('Save Options', 'textdomain'); ?> " /> <input type="submit" class="reset-button button-secondary" name="reset" value="<?php esc_attr_e('Restore Defaults', 'textdomain'); ?> " onclick="return confirm( '<?php print esc_js(__('Click OK to reset. Any theme settings will be lost!', 'textdomain')); ?> ' );" /> <div class="clear"></div> </div> </form> </div> <!-- / #container --> </div> <?php do_action('wpr_optionsframework_after'); ?> </div> <!-- / .wrap --> <?php }