Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Theme customization API, no actualiza opcion

Estas en el tema de Theme customization API, no actualiza opcion en el foro de WordPress en Foros del Web. Estoy enredando con esta API, intentado añadir controles para cambiar los colores de algunos items y me ha surgido un problema. Cuando eligo un color ...
  #1 (permalink)  
Antiguo 22/04/2013, 10:11
laura_moreno14
Invitado
 
Mensajes: n/a
Puntos:
Theme customization API, no actualiza opcion

Estoy enredando con esta API, intentado añadir controles para cambiar los colores de algunos items y me ha surgido un problema.

Cuando eligo un color y guardo la opcion se queda guardada en el personalizador y la previsualizo perfectamente, pero no se actualiza la opción creada con la setting API.

No se si me explicado bien. Lo que pasa es que una vez que le doy a guardar y publicar, el css sigue mostrandome la opcion por defecto.

Les dejo el codigo, solo pongo lo referente a theme customization API, si es relevante alguna parte mas del codigo, avisenme y lo pongo.

Código PHP:
Ver original
  1. <?php
  2.  
  3. function mytheme_customize_register( $wp_customize )
  4. {
  5.   $general_option = get_option ('general_option');
  6.  
  7.   $wp_customize->add_setting( '$general_option[color_scheme]' , array(
  8.     'default'     => '#FFF',
  9.     'type' => 'option',
  10.     'capability'     => 'edit_theme_options',
  11.     'transport'   => 'postMessage',
  12. ) );
  13.  
  14.  
  15. $wp_customize->add_section( 'mytheme_color_scheme', array(
  16.     'title'          => __( 'Color Scheme', 'mytheme' ),
  17.     'priority'       => 30,
  18. ) );
  19.  
  20.  
  21. $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'link_color', array(
  22.     'label'        => __( 'Choose a color', 'mytheme' ),
  23.     'section'    => 'mytheme_color_scheme',
  24.     'settings'   => '$general_option[color_scheme]',
  25.     ) ) );
  26.  
  27. }
  28. add_action( 'customize_register', 'mytheme_customize_register' );
  29.  
  30.  
  31. function mytheme_customize_css()
  32. {
  33.     $general_option = get_option ('general_option');
  34.     ?>
  35.          <style type="text/css">
  36.              #menu li{ background:<?php echo $general_option['color_scheme'] ?>; }
  37.          </style>
  38.     <?php
  39. }
  40. add_action( 'wp_head', 'mytheme_customize_css');
  41.  
  42.  
  43. function mytheme_customizer_live_preview()
  44. {
  45.     wp_enqueue_script(
  46.           'mytheme-themecustomizer',
  47.           get_template_directory_uri().'/scripts/theme-customizer.js',
  48.           array( 'jquery','customize-preview' ),
  49.           '',
  50.           true 
  51.     );
  52. }
  53. add_action( 'customize_preview_init', 'mytheme_customizer_live_preview' );
  54.  
  55. // AÑADIR EL PERSONALIZADOR DE TEMAS BAJO LA OPCIÓN APARIENCIA DEL MENÚ
  56. add_action('admin_menu', 'add_customizer_to_appearance');
  57. function add_customizer_to_appearance()
  58. {
  59.   add_submenu_page('themes.php', 'Personalizador', 'Customizer', 'edit_theme_options', 'customize.php', '', '', 6);
  60. }
  61. ?>

Gracias por su ayuda a todos, cada dia sigo aprendiendo y mejorando gracias a la ayuda que ofrecen en este foro.
  #2 (permalink)  
Antiguo 22/04/2013, 18:11
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 13 años, 2 meses
Puntos: 297
Respuesta: Theme customization API, no actualiza opcion

No he mirado el código que has publicado, pero ¿has usado en tu theme get_theme_mod() para recuperar los valores guardados?
__________________
Freelance Developer — www.rubenmartin.me PHP, SQL, Wordpress, Prestashop, Codeigniter, Laravel
RegaloConsolas — www.regaloconsolas.com Sorteo juegos, consolas y accesorios

Etiquetas: api, opcion, php, post, tema, theme
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:38.