2010-07-02 6 views
0

Je suis à étudier sur la création WP Branchez et je lis cette page - http://codex.wordpress.org/Creating_Options_PagesWP Branchez

J'essaie l'exemple donné dans cette page qui est le code ci-dessous:

<?php 
// create custom plugin settings menu 
add_action('admin_menu', 'baw_create_menu'); 

function baw_create_menu() { 

    //create new top-level menu 
    add_menu_page('BAW Plugin Settings', 'BAW Settings', 'administrator', __FILE__, 'baw_settings_page',plugins_url('/images/icon.png', __FILE__)); 

    //call register settings function 
    add_action('admin_init', 'register_mysettings'); 
} 


function register_mysettings() { 
    //register our settings 
    register_setting('baw-settings-group', 'new_option_name'); 
    register_setting('baw-settings-group', 'some_other_option'); 
    register_setting('baw-settings-group', 'option_etc'); 
} 

function baw_settings_page() { 
?> 
<div class="wrap"> 
<h2>Your Plugin Name</h2> 

<form method="post" action="options.php"> 
    <?php settings_fields('baw-settings-group'); ?> 
    <table class="form-table"> 
     <tr valign="top"> 
     <th scope="row">New Option Name</th> 
     <td><input type="text" name="new_option_name" value="<?php echo get_option('new_option_name'); ?>" /></td> 
     </tr> 

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

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

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

</form> 
</div> 
<?php } ?> 

Tout va bien mais quand je teste le formulaire dans l'admin du WP, quand j'insère les données dans le formulaire et que je clique sur le bouton de mise à jour, il n'y a pas de 'message de mise à jour'. Donc, ma question est comment faire «message de mise à jour» ou «message d'erreur» apparaissent lorsque les gens insèrent des données dans le formulaire et cliquez sur le bouton soumettre.

Merci beaucoup pour votre aide!

Répondre

1

Je ne suis pas sûr à ce sujet, mais je suggère de prendre l'appel add_action pour enregistrer vos paramètres de la fonction baw_create_menu afin qu'il soit configuré avant le menu admin. Je pense que admin_init se déclenche avant admin_menu, donc votre fonction register_mysettings n'est pas appelée. Mais je ne suis pas sûr de ça.

Aussi, je vous suggère de lire les ressources suivantes sur l'API Paramètres WordPress:

http://codex.wordpress.org/Settings_API

http://www.presscoders.com/wordpress-settings-api-explained/

http://ottodestruct.com/blog/2009/wordpress-settings-api-tutorial/

http://planetozh.com/blog/2009/05/handling-plugins-options-in-wordpress-28-with-register_setting/

Si vous utilisez l'API Settings correctement, le message apparaîtra automatiquement. Bien sûr, l'autre option consiste à ajouter le message de façon conditionnelle. C'est-à-dire, vérifiez si le formulaire a été soumis et, si c'est le cas, renvoyez le message au début du formulaire, juste après le titre de la page.

Questions connexes