Add a tab in Global Settings
Using a class
Add a new tab in the Formidable Global Settings using a class.
add_action('frm_add_settings_section', 'add_global_settings_section'); function add_global_settings_section($sections) { $sections['section_name'] = array( 'class' => 'ClassName', 'function' => 'route', ); return $sections; }
Replace section_name with your section name. Replace ClassName with the name of the class where you will have functions for this section.
Using a function
If you want to add a tab in Global settings without setting a class, you can specify a function directly as a closure variable or as a string.
add_action('frm_add_settings_section', 'add_global_settings_section'); function add_global_settings_section($sections) { $sections['closure_example'] = array( 'name' => 'With a closure', 'function' => function() { echo 'My custom section html'; } ); $sections['function_string_example'] = array( 'name' => 'With a custom render function', 'function' => 'my_custom_section_html_render_function' ); return $sections; } function my_custom_section_html_render_function() { echo 'My custom section html'; }
Display new tab
Display new settings and determine whether to save values or just display them. This function should go in the class that is referenced in the add_global_settings_section function.
public static function route(){ $action = isset( $_REQUEST['frm_action'] ) ? 'frm_action' : 'action'; $action = FrmAppHelper::get_param( $action ); if ( $action == 'process-form' ) { return self::process_form(); } else { return self::display_form(); } }
Display settings
Display the settings form on your new global settings page. This function should go in the class that is referenced in the add_global_settings_section function. In most add-ons, the saved values are stored in the wp_options table.
public static function display_form(){ // Retrieve settings from database here // Display settings }
Save and display settings
Display the settings form on your new global settings page and update the saved values when the form is submitted. This function should go in the class that is referenced in the add_global_settings_section function. In most add-ons, the saved values are stored in the wp_options table.
public static function process_form(){ // Retrieve settings from database here // Update values in database self::display_form(); }