I set up a theme control panel which can easily be seen by super admin, but unfortunately sub-site admins can't see same control panel for their blogs. Any help would be greatly appreciated. Here how the theme control panel is coded
class ControlPanel {
# Load Theme Control Panel Head
var $options;
function ControlPanel() {
add_action('admin_menu', array(&$this, 'add_menu'));
add_action('admin_head', array(&$this, 'admin_head'));
if (!is_array(get_option('theme-name')))
add_option('theme-name', $this->default_settings);
$this->options = get_option('theme-name');
}
function add_menu() {
add_theme_page(__('Theme Settings','theme-name'), __('Theme Settings','theme-name'), 'edit_themes', "theme-name", array(&$this, 'optionsmenu'));
}
# What to Post
function optionsmenu() {
if ($_POST['ss_action'] == 'save') {
check_admin_referer( 'update_theme_options-theme-name' );
$this->options["gab_favico"] = $_POST['cp_gab_favico'];
update_option('theme-name', $this->options);
echo '<div class="updated fade" id="message" style="background-color: rgb(255, 251, 204); width: 500px; margin-left: 50px"><p>theme-name settings <strong>saved</strong>.</p></div>';
}
?>
<!-- Load Visual Theme Control Panel -->
<div id="optionsForm">
<form action="" method="post" id="themeform">
<fieldset>
<div id="gab_top">
<input type="hidden" id="ss_action" name="ss_action" value="save">
<?php wp_nonce_field( 'update_theme_options-theme-name' ); ?>
CONTROL PANEL FORM GOES HERE
<?php }
}
$cpanel = new ControlPanel();
$theme-name_options = get_option('theme-name');