Estoy creando una pagina de opciones de un theme y por alguna razon, no se guardan las opciones. Cree unas opciones usando la setting api, sin usar arrays y funcionaban bien, pero buscando una forma mas simple de hacerlo,
rogertm me dejo esta forma de hacerlo con arrays en un post anterior. Llevo dias dandole vueltas pero no consigo que se guarde la opcion.
Este es el codigo que tengo:
Código PHP:
Ver original<?php
add_action( 'admin_init', 'simplyColor_my_admin_init' );
function simplyColor_my_admin_init() {
register_setting( 'opciones', 'general_option');
add_settings_section( 'general', 'Opciones generales', '__return_false', 'theme-options' );
add_settings_field( 'buttons', 'Opciones botones sociales', 'simplyColor_buttons', 'theme-options', 'general' );
}
function buttons_options () {
$buttons_options = array ( 'value' => '1',
'label' => 'Añadir boton de facebook',
),
'value' => '2',
'label' => 'Añadir boton de Twitter'
),
'value' => '3',
'label' => 'Añadir boton de Google+'
),
);
return apply_filters( 'buttons_options', $buttons_options );
}
function simplyColor_buttons ($args) {
global $general_option;
foreach ( buttons_options() as $buttons ) :
?>
<label class="description">
<input type="checkbox" name="general_option[buttons]" value="<?php echo $buttons['value'] ; ?>" <?php checked( $general_option['buttons'], $buttons['value'] ); ?> />
<span><?php echo $buttons['label']; ?></span>
</label>
<?php
endforeach;
}
function simplyColor_opciones_generales() {
?>
<div class="wrap">
<h2>Opciones generales</h2>
<form method="POST" action="options.php">
<?php settings_fields( 'opciones' ); ?>
<?php do_settings_sections( 'theme-options' ); ?>
<?php submit_button(); ?>
</form>
</div>
<?php
}
function simplyColor_option_menu(){
add_menu_page( 'Opciones Theme', 'Opciones Theme', 'manage_options', 'theme-options', 'simplyColor_opciones_generales' );
}
add_action('admin_menu','simplyColor_option_menu');
Que estoy haciendo mal??