web-dev-qa-db-fra.com

Enregistrer et récupérer la valeur des options de plug-in personnalisées

Je veux sauvegarder la valeur des données d'entrée et la récupérer, j'ai suivi le tutoriel de otto press .

Je suis nouveau dans la création de plugins WordPress et ce que je ne peux pas comprendre, c'est une fois que je clique sur le bouton Save changes bouton, la page affiche:

Paramètre enregistré

Ma question est la suivante: où va la valeur d'entrée et comment puis-je récupérer cette valeur dans la même page?.

Voici mon code

add_action('admin_menu', 'add_page');

if ( !function_exists( 'add_page' ) ) {
    //function to add page under setting options in wordpress admin section
    function add_page() {
        add_options_page('New Setting Page', 'New Setting', 'manage_options', 'plugin', 'plugin_options_frontpage');
    }   
}

function plugin_options_frontpage() {
    ?>
    <div class="wrap">
    <h2>New Setting Page title</h2>
    <form action="options.php" method="post">
    <?php settings_fields('plugin_options'); ?>
    <?php do_settings_sections('plugin'); ?>
    <table class="form-table"> 
      <tr valign="top">
        <td colspan="2">
            <input name="Submit" type="submit" class="button button-primary" value="<?php esc_attr_e('Save Changes'); ?>" />
        </td>
      </tr>
    </table>
    </form>
    </div>
    <?php
}    

add_action('admin_init', 'plugin_admin_init');

function plugin_admin_init(){
    register_setting( 'plugin_options', 'plugin_options', 'plugin_options_validate' );
    add_settings_section('plugin_main', 'Main Settings', 'plugin_section_text', 'plugin');
    add_settings_field('plugin_text_input1', 'Input 1', 'plugin_input1', 'plugin', 'plugin_main');
    add_settings_field('plugin_text_input2', 'Input 2', 'plugin_input2', 'plugin', 'plugin_main');
}

function plugin_section_text() {
    echo '<p>New input setting to be saved.</p>';
}

function plugin_input1() {
    $options = get_option('plugin_options');
    echo "<input id='plugin_input1' class='normal-text code' name='plugin_options[text_string]' size='30' type='text' value='{$options['text_string']}' />";
}

function plugin_input2() {
    $options = get_option('plugin_options');
    echo "<input id='plugin_input2' class='normal-text code' name='plugin_options[text_string]' size='30' type='text' value='{$options['text_string']}' />";
}

function plugin_options_validate($input) {
    $options = get_option('plugin_options');
    $options['text_string'] = trim($input['text_string']);
    if(!preg_match('/^[a-z0-9]{32}$/i', $options['text_string'])) {
        $options['text_string'] = '';
    }
    return $options;
}
3
Arish

L'option sera stockée dans la table $wp_prefix . "options" sous forme de tableau.

Vous pouvez obtenir l'option avec $myoptions = get_option('plugin_options'); essayez var_export( $myoptions ); pour voir cela.

Il y a aussi une page cachée dans wp-admin/options.php où vous pouvez voir toutes les options enregistrées.

6
fuxia