Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/04/2013, 10:22
laura_moreno14
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Las opciones no se guardan

No funcionaba lo de edit_theme_options pero... finalmente lo he conseguido!

El problema es que faltaba llamar a las opciones guardadas en la variable $general_options, lo he modificado así:


Código PHP:
<?php 
function simplyColor_buttons ($args) {
        
        global 
$general_option;
        
        
$general_option get_option ('general_option');
        
        foreach ( 
buttons_options() as $buttons ) :
                
?>

                <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>
  
        
        <?php
     
endforeach;
        
        }
?>
Aunque sigo teniendo un pequeño problema, que tiene que ver con los checkbox. Solo puedo marcar 1, no puedo elegir todos, es decir, se comportan como si fueran input radio en vez de input checkbox.

Me imagino que ocurre porque todos tienen el mismo name. Por eso he intentado crear otro parametro en los arrays facebook, twitter y google en el que guardar el name del campo del formulario pero no funciona (o lo hago mal). Aqui lo pongo:

Código PHP:
<?php 
function buttons_options () {
        
        
$buttons_options = array (
        
'facebook' => array (
        
'name'=>'button1',
            
'value' => '1',
            
'label' => 'Añadir boton de facebook'
        
),
        
'twitter' => array (
      
'name'=>'button2',
            
'value' => '2',
            
'label' => 'Añadir boton de Twitter'
        
),
        
'google' => array (
        
'name'=>'button3',
            
'value' => '3',
            
'label' => 'Añadir boton de Google+'
        
)
    );
 
    return 
apply_filters'buttons_options'$buttons_options );
        
    }


function 
simplyColor_buttons ($args) {
        
        global 
$general_option;
        
        
$general_option get_option ('general_option');
        
        foreach ( 
buttons_options() as $buttons ) :
                
?>

                <input type="checkbox" name="general_option[<?php echo $buttons['name']; ?>]" value="<?php echo $buttons['value']; ?><?php checked$general_option[' echo $buttons["name"]'], $buttons['value'] ); ?> />
                
                <span><?php echo $buttons['label']; ?></span>
  
        
        <?php
     
endforeach;
        
        }
?>

Muchas gracias por tu ayuda rogertm, por fin parece que veo la luz al final del tunel con esto de las settings jajaa

EDITO: No se comporta como un input radio, si no que se queda marcado el ultimo por orden del valor o de posicion no se, es decir si marco el primero y el ultimo, se queda marcado solo el ultimo, si marco el 1 y el 2 se queda el dos...

Última edición por laura_moreno14; 18/04/2013 a las 10:36