/** * Callback for get_settings_field() */ function sell_media_plugin_setting_callback($option) { $sell_media_options = (array) sell_media_get_plugin_options(); $option_parameters = sell_media_get_plugin_option_parameters(); $optionname = $option['name']; $optiontitle = $option['title']; $optiondescription = $option['description']; $fieldtype = $option['type']; $fieldname = sell_media_get_current_plugin_id() . "_options[ { {$optionname} } ]"; $attr = $option_parameters[$option['name']]; $value = $sell_media_options[$optionname]; //Determine the type of input field switch ($fieldtype) { //Render Text Input case 'text': sell_media_plugin_field_text($value, $attr); echo '<span class="option-description">' . $option['description'] . '</span>'; break; //Render Password Input //Render Password Input case 'password': sell_media_plugin_field_password($value, $attr); echo '<span class="option-description">' . $option['description'] . '</span>'; break; //Render textarea options //Render textarea options case 'textarea': sell_media_plugin_field_textarea($value, $attr); echo '<span class="option-description">' . $option['description'] . '</span>'; break; //Render select dropdowns //Render select dropdowns case 'select': sell_media_plugin_field_select($value, $attr); echo '<span class="option-description">' . $option['description'] . '</span>'; break; //Render radio dropdowns //Render radio dropdowns case 'radio': sell_media_plugin_field_radio($value, $attr); echo '<span class="option-description">' . $option['description'] . '</span>'; break; //Render radio image dropdowns //Render radio image dropdowns case 'radio_image': sell_media_plugin_field_radio_image($value, $attr); echo '<span class="option-description">' . $option['description'] . '</span>'; break; //Render checkboxes //Render checkboxes case 'checkbox': sell_media_plugin_field_checkbox($value, $attr); echo '<span class="option-description">' . $option['description'] . '</span>'; break; //Render color picker //Render color picker case 'color': sell_media_plugin_field_color($value, $attr); echo '<span class="option-description">' . $option['description'] . '</span>'; break; //Render uploaded image //Render uploaded image case 'image': sell_media_plugin_field_image($value, $attr); echo '<span class="option-description">' . $option['description'] . '</span>'; break; //Render uploaded gallery //Render uploaded gallery case 'gallery': sell_media_plugin_field_gallery($value, $attr); echo '<span class="option-description">' . $option['description'] . '</span>'; break; //Render uploaded gallery //Render uploaded gallery case 'html': sell_media_plugin_field_html($value, $attr); echo '<span class="option-description">' . $option['description'] . '</span>'; break; default: break; } }
/** * Separate settings by tab * * Returns an array of tabs, each of * which is an indexed array of settings * included with the specified tab. * * @uses sell_media_get_plugin_option_parameters() defined in \functions\options.php * * @return array $settingsbytab array of arrays of settings by tab */ function sell_media_get_plugin_settings_by_tab() { global $sell_media_plugin_tabs; // Initialize an array to hold // an indexed array of tabnames $settingsbytab = array(); // Loop through the array of tabs foreach ($sell_media_plugin_tabs as $tab) { $tabname = $tab['name']; // Add an indexed array key // to the settings-by-tab // array for each tab name $tabs[] = $tabname; } // Get the array of option parameters $option_parameters = sell_media_get_plugin_option_parameters(); // Loop through the option parameters // array foreach ($option_parameters as $option_parameter) { // Ignore "internal" type options if (in_array($option_parameter['tab'], $tabs)) { $optiontab = $option_parameter['tab']; $optionname = $option_parameter['name']; // Add an indexed array key to the // settings-by-tab array for each // setting associated with each tab $settingsbytab[$optiontab][] = $optionname; } } // Return the settings-by-tab // array return $settingsbytab; }