Sind meine Einstellungen nicht speichern, können in der wordpress-theme-Optionen-Seite

Ich versuche zu erstellen, ein Thema Optionen Seite basiert auf WordPress Settings API. Wenn ich gehe, um zu überprüfen, die options.php Seite in meinem browser (ex. http://mysite.com/wordpress/wp-admin/options.php), Sehe ich einen Eintrag für coolorange_options aber es ist leer. Dies geschah, nachdem ich habe eine url, Breite und Höhe in die Textfelder.

So weit, ich habe genug code geschrieben, um die Informationen und speichern Sie es auf die Datenbank, aber nicht, um es für nichts. Ich auf eine Anleitung im php-Kommentar am Anfang des Codes. Wenn man bedenkt, dass weiß ich nicht viel von php oder Programmierung, irgendwas muss hier falsch sein, ich weiß nur nicht, was. Der gesamte code ist unter:

<?php 
//This options page mainly follows the WordPress Settings API Tutorial at
//http://ottodestruct.com/blog/2009/wordpress-settings-api-tutorial/
add_action('admin_menu', 'theme_admin_add_page');
add_action('admin_init', 'theme_admin_init');

function theme_admin_init() {
register_setting('coolorange_theme_options', 'coolorange_options', 'coolorange_options_validate');
//what each parameter represents: add_settings_field($id, $title, $callback, $page, $section, $args);
add_settings_section('coolorange_logo_main', 'Logo Section Settings', 'logo_section_text', 'coolorange');
add_settings_field('upload_image_button', '<strong>Upload logo to the Media Folder</strong>', 'file_upload_button', 'coolorange', 'coolorange_logo_main'); //Upload Logo button
add_settings_field('logo_textfields', '<strong>Logo location</strong>', 'file_location', 'coolorange', 'coolorange_logo_main'); //logo url, width and height text fields
add_settings_field('restore_selectbox', '<strong>Restore original heading</strong>', 'restore_dropdown', 'coolorange', 'coolorange_logo_main');
}

function logo_section_text() {
echo '<p>In this section, you can replace the standard blog title heading with a custom logo. The logo cannot be wider than <strong>960 pixels</strong>.</p>';
}

function file_upload_button() {
$options = get_option('coolorange_theme_options');
echo '<input id="upload_image_button" class="button-secondary" type="button" name="coolorange_theme_options[upload_image_button]" value="Upload Logo" />';
}

function file_location() { //opens file_location function
$options = get_option('coolorange_theme_options'); ?>
<h3>How to upload a logo to replace the heading</h3>
    <div style="background-color: #FFFFFF; border: 1px solid #BBBBBB; padding: 30px;">
    <ul style="list-style: disc;">
        ...instructions to upload logo
    </ul>
</div>
<p><strong>File URL:</strong> <input id="image_url" type="text" value="<?php $options['image_url']; ?>" size="60" name="coolorange_theme_options[image_url]" /><br />
<strong>Logo width:</strong> <input id="image_width" type="text" value="<?php $options['image_width']; ?>" size="6" name="coolorange_theme_options[image_width]" /> Enter logo width in pixels (for example <strong>800px</strong>)<br />
<strong>Logo height:</strong> <input id="image_height" type="text" value="<?php $options['image_height']; ?>" size="6" name="image_height" /> Enter logo height in pixels (for example <strong>90px</strong>)</p>
<?php  
} //closes file_location function

function restore_dropdown() { //opens restore_dropdown function
$options = get_option('coolorange_theme_options'); 
//http://codex.wordpress.org/Function_Reference/selected ?>
<select name="co_restore_selectbox[select_options]" id="co_restore_selectbox">
    <option value="default" <?php if ( $co_restore_selectbox['select_options'] == 'default' )
        echo 'selected="selected"'; ?>>select an option</option>
    <option value="restore" <?php if ( $co_restore_selectbox['select_options'] == 'restore' )
        echo 'selected="selected"'; ?>>Restore CSS</option>
</select>
<?php 
} //closes restore_dropdown funcion

function css_switcher() {
$options = get_option('coolorange_theme_options');
//$backgroundurl = "url('" . $options['image_url']; . "') top center no-repeat";
?>
<style type="text/css">
<!--
#logo {
background: <?php echo $backgroundurl; ?>;
width: <?php echo $image_width; ?>;
height: <?php echo $image_height; ?>;
padding: 1em 2em 0 2em;
margin: 0 auto;
}

#blog-title a {
display: block;
width: <?php echo $image_width; ?>;
height: <?php echo $image_height; ?>;
text-indent: -2000px;
}

#blog-description {
text-indent: -2000px;
}
-->
</style>
<?php } //closes css_switcher function

add_action('wp_head', 'css_switcher');

function theme_admin_add_page() {
add_theme_page('Cool Orange Theme Options','Cool Orange Theme Options','manage_options','coolorange','theme_options_page');
}

//Scripts to load WP's Media Library panel
//http://www.webmaster-source.com/2010/01/08/using-the-wordpress-uploader-in-your-plugin-or-theme/
function my_admin_scripts() {
...scripts to load media library - unrelated
}

function my_admin_styles() {
...styles for media library loader
}

if (isset($_GET['page']) && $_GET['page'] == 'coolorange') {
...actions to add for media library loader script
}

function theme_options_page() {
?>
<div class="wrap">
<div id="icon-themes" class="icon32"><br /></div><h2>Cool Orange Theme Options</h2>
<form action="options.php" method="post" name="options_form"><?php settings_fields('coolorange_theme_options'); ?>
<?php do_settings_sections('coolorange'); ?>

<input name="Submit" class="button-primary" type="submit" value="<?php esc_attr_e('Save Changes'); ?>" />
</form>
</div>
<?php 
}
?>

InformationsquelleAutor Jason G. | 2011-06-04

Schreibe einen Kommentar