Guardar y recuperar el valor de opciones personalizadas en un plugin
21 mar 2013, 14:41:55
Vistas: 15.2K
Votos: 4
Quiero guardar el valor de los datos de entrada y recuperarlos, he revisado el tutorial de otto press.
Soy nuevo en la creación de plugins de WordPress y lo que no entiendo es que una vez que hago clic en el botón Guardar cambios, la página muestra:
Configuración guardada
Mi pregunta es ¿a dónde van los valores de entrada y cómo puedo recuperar esos valores en la misma página.
Aquí está mi código
add_action('admin_menu', 'add_page');
if ( !function_exists( 'add_page' ) ) {
//función para añadir página en la sección de ajustes del administrador de WordPress
function add_page() {
add_options_page('Nueva página de configuración', 'Nueva configuración', 'manage_options', 'plugin', 'plugin_options_frontpage');
}
}
function plugin_options_frontpage() {
?>
<div class="wrap">
<h2>Título de la nueva página de configuración</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('Guardar cambios'); ?>" />
</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', 'Ajustes principales', 'plugin_section_text', 'plugin');
add_settings_field('plugin_text_input1', 'Entrada 1', 'plugin_input1', 'plugin', 'plugin_main');
add_settings_field('plugin_text_input2', 'Entrada 2', 'plugin_input2', 'plugin', 'plugin_main');
}
function plugin_section_text() {
echo '<p>Nueva configuración de entrada para guardar.</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;
}

Arish
141
Todas las respuestas a la pregunta
1
0
La opción se almacenará en la tabla $wp_prefix . "options"
como un array.
Puedes obtener la opción con $myoptions = get_option('plugin_options')
; prueba var_export( $myoptions );
para verlo.
También hay una página oculta en wp-admin/options.php
donde puedes ver todas las opciones guardadas.

fuxia
107K
21 mar 2013 17:37:10
Preguntas relacionadas
2
respuestas
2
respuestas
1
respuestas