I just created a simple theme option page that is working fine and also saved after when press save options.
But when I go somewhere else from theme options page and come back to theme options page that settings what I saved just disappear and I have to change that again whenever I come to theme options page.
Here is my code
add_action( 'admin_menu', 'theme_options_add_page' );
if ( get_option('new_theme_options')) {
$theme_options = get_option('new_theme_options');
} else {
add_option('new_theme_options', array (
'sidebar2_on' => true,
'footer_text' => ''
));
$theme_options = get_option('new_theme_options');
}
function theme_options_add_page() {
add_submenu_page( 'themes.php', 'My Theme Options', 'Theme Options', 8, 'themeoptions', 'theme_options_do_page' );
}
function theme_options_do_page() {
global $theme_options;
$new_values = array (
'footer_text' => htmlentities($_POST['footer_text'], ENT_QUOTES),
);
update_option('new_theme_options', $new_values);
$theme_options = $new_values;
?>
<div class="wrap">
<?php screen_icon(); echo "<h2>" . get_current_theme() . __( ' Theme Options', 'responsivetheme' ) . "</h2>"; ?>
<form method="post" action="themes.php?page=themeoptions">
<label for="footer_text">Footer Text:</label>
<input id="footer_text" type="text" name="footer_text" value="<?php echo $theme_options['footer_text']; ?>" />
<p class="submit">
<input type="submit" class="button-primary" value="<?php _e( 'Save Options', 'responsivetheme' ); ?>" />
</p>
</form>
</div>
<?php
}
WP_DEBUG? - brasofiloNotice: Undefined variable: defaults in C:\xampp\htdocs\wordpress\wp-content\themes\responsive-theme\functions.php on line 88Notice: Undefined variable: new_values in C:\xampp\htdocs\wordpress\wp-content\themes\responsive-theme\functions.php on line 359Notice: Undefined variable: new_values in C:\xampp\htdocs\wordpress\wp-content\themes\responsive-theme\functions.php on line 361this is the msgs from WP_DEBUG - user2579060isset()mainly and providing alternatives when the var does not exist yet. Can you test my code on another theme that you haven't modified? It works for me and your problem seems to be elsewhere, outside the sample code you provided. - brasofilo