WordPress-Seite Einstellungen nicht speichern der Einstellungen in die Datenbank

Ich entwickle meine erste WordPress-plugin. Ich habe folgenden einige Anleitungen zum erstellen einer Seite mit den Einstellungen.

Habe ich folgende Seite, die korrekt zeigt den Wert der Felder in der Datenbank. Wenn ich auf die Seite, Bearbeiten Sie die Felder und drücken Sie "änderungen Speichern" werden die änderungen nicht in der Datenbank gespeichert. Wenn ich die Werte direkt in die Datenbank, dann die Werte zeigen, nicht korrekt in die Eingabefelder ein, aber ich kann immer noch nicht aktualisieren Sie die Werte von meiner Seite.

Können Sie sehen, offensichtliche Fehler, die ich gemacht habe, oder Dinge, die ich bin fehlt?

<?php
add_action('admin_menu', 'SetupPage');

function SetupPage()
{   
    add_action('admin_init', 'RegisterSettings');

    //Setup administration menu item
    if (function_exists('add_options_page'))
    {
        add_menu_page(__("TestPage"), __("TestPage"), "manage_options", __FILE__, 'PageContent', plugins_url('/images/icon.png', __FILE__));
    }
}

function RegisterSettings()
{
    //Add options to database if they don't already exist
    add_option("test_option1", "", "", "yes");
    add_option("test_option2", "", "", "yes");
    add_option("test_option3", "", "", "yes");

    //Register settings that this form is allowed to update
    register_setting('test_settings', 'test_option1');
    register_setting('test_settings', 'test_option2');
    register_setting('test_settings', 'test_option3');
}

?>

<?php
function PageContent()
{
    if (!current_user_can('manage_options'))
        wp_die(__("You don't have access to this page"));

    ?>
    <div class="wrap">
    <h2><?_e("Test settings")?></h2>

    <form method="post">

        <?php settings_fields('test_settings'); ?>

        <table class="form-table">
            <tr valign="top">
            <th scope="row">test_option1</th>
            <td><input type="text" name="test_option1" value="<?php echo get_option('test_option1'); ?>" /></td>
            </tr>

            <tr valign="top">
            <th scope="row">test_option2</th>
            <td><input type="text" name="test_option2" value="<?php echo get_option('test_option2'); ?>" /></td>
            </tr>

            <tr valign="top">
            <th scope="row">test_option3</th>
            <td><input type="text" name="test_option3" value="<?php echo get_option('test_option3'); ?>" /></td>
            </tr>
        </table>

        <p class="submit">
        <input type="submit" class="button-primary" value="<?php _e('Save changes') ?>" />
        </p>

    </form>
    </div>
<?php
}
?>
  • Otto ' s tutorial wird Euch auf die richtige Spur: ottopress.com/2009/wordpress-settings-api-tutorial
  • Ich habe versucht, starten über und folgte Otto ' s tutorial. Jetzt ist es Arbeit. Es ist nicht mit der exakt gleichen Methode zwar nicht, aber ich denke, ich werde weiterhin von diesem. Dank
InformationsquelleAutor Ben Anderson | 2011-01-31
Schreibe einen Kommentar