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

Cambiar varios settings desde un mismo control - Customize Wordpress

Estas en el tema de Cambiar varios settings desde un mismo control - Customize Wordpress en el foro de WordPress en Foros del Web. Hola. Tengo una duda. Quiero utilizar el editor de apariencia (Customize) para cambiar ciertos aspectos de un theme de wordpress. Estoy creando un theme y ...
  #1 (permalink)  
Antiguo 01/11/2016, 08:41
 
Fecha de Ingreso: enero-2014
Mensajes: 101
Antigüedad: 10 años, 10 meses
Puntos: 7
Cambiar varios settings desde un mismo control - Customize Wordpress

Hola.

Tengo una duda. Quiero utilizar el editor de apariencia (Customize) para cambiar ciertos aspectos de un theme de wordpress.

Estoy creando un theme y quiero que el administrador pueda cargar varios perfiles, cada uno de ellos tiene que cambiar el color de varios elementos (navbar, footer, links etc). Por ejemplo si elige el perfil 'naranja' todo tiene que ser en la tonalidad del naranja, si elige el 'azul' ... etc etc.

He creado varios settings y controls que controlan individualmente los colores de esos elementos, pero lo que quiero ahora es poder tener un 'select' en el que al darle click en 'naranja' me cambie todos los colores de esos settings.

¿Cómo lo veis? ¿Tenéis alguna idea de donde puedo empezar?

He creado un select-choices en el editor de apariencias pero no hace nada, claro. Se ve .. puedes elegir las opciones pero no cambia nada al seleccionarlo (porque no le he dicho que haga nada xD jeje)

¿Cómo enlazo el evento de seleccionar una opción en ese select con cambiar colores de settings?

Saludos.
  #2 (permalink)  
Antiguo 02/11/2016, 11:20
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 11 años, 2 meses
Puntos: 39
Respuesta: Cambiar varios settings desde un mismo control - Customize Wordpress

Si ya tienes configurados settings de color individuales para cada elemento y quieres cambiarlos todos al mismo tiempo puedes usar javascript, tomas el valor que el usuario ha escogido y lo pegas automáticamente en los otros inputs..
__________________
velarde23.com - Soluciones Web
  #3 (permalink)  
Antiguo 03/11/2016, 04:34
 
Fecha de Ingreso: enero-2014
Mensajes: 101
Antigüedad: 10 años, 10 meses
Puntos: 7
Respuesta: Cambiar varios settings desde un mismo control - Customize Wordpress

Sí, claro.

He hecho una pregunta en stackoverflow (que tiene mas tráfico que forosdelweb), copio y pego el código y traduzco lo que puse antes.
  #4 (permalink)  
Antiguo 03/11/2016, 04:41
 
Fecha de Ingreso: enero-2014
Mensajes: 101
Antigüedad: 10 años, 10 meses
Puntos: 7
Respuesta: Cambiar varios settings desde un mismo control - Customize Wordpress

Este es el link a la pregunta stackoverflow que os comento.

http://stackoverflow.com/questions/4...stomize-via-js

La traduzco y la copio aquí:

Estoy desarrollando un nuevo Theme de Wordpress y quiero que el administrador pueda cambiar los colores de algunos elementos individualmente y globalmente. Me refiero a que el administrador puede cambiar el color de un elemento en particular o cambiarlos a todos en base a un 'Perfil de color' definido por mi.

He definido todos los settings y controls así:

Código:
function color_customize_register( $wp_customize )
 {
     $wp_customize->add_section( 'theme_color_controls' , array(
         'title'    => __( 'Colors controls', 'starter' ),
         'priority' => 30
     ) );


     $wp_customize->add_setting( 'top_navbar_background_color' , array(
         'default'   => '#000000',
         'transport' => 'postMessage',
     ) );

     $wp_customize->add_setting( 'footer_background_color' , array(
         'default'   => '#000000',
         'transport' => 'refresh',
     ) );


     $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'navbar_color', array(
         'label'    => __( 'Navbar Color', 'starter' ),
         'description' => 'Define top navbar background color.',
         'section'  => 'theme_color_controls',
         'settings' => 'top_navbar_background_color',
     ) ) );

     $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'footer_color', array(
         'label'    => __( 'Footer Color', 'starter' ),
         'description' => 'Define footer background color.',
         'section'  => 'theme_color_controls',
         'settings' => 'footer_background_color',
     ) ) );

     $wp_customize->add_setting(
         'menu_type',
         array(
             'transport' => 'postMessage',
             'default' => 'choice1',
         )
     );

     $wp_customize->add_control(
         'menu_type',
         array(
             'type' => 'select',
             'label' => 'Select your menu type:',
             'section' => 'theme_color_controls',
             'description' => 'Load a color profile.',
             'choices' => array(
                 'choice1' => 'Choice 1',
                 'choice2' => 'Choice 2',
                 'choice3' => 'Choice 3',
                 'choice4' => 'Choice 4',
             ),
         )
     );

 }
 add_action( 'customize_register', 'color_customize_register');

También he puesto en cola el script javascript por el cual al seleccionar el 'select' del 'perfil de color' cambiaría los colores individuales de los elementos:

Código:
( function( $ ) {


  wp.customize( 'menu_type', function( value ) {
    value.bind( function( newval ) {
          DO SOMETHING. 
    } );
  } );

En la parte de 'DO SOMETHINGS' en el archivo JS no soy capaz de asignar un valor a los demás settings. He intentado poner un 'alert' para comprobar si todo va bien hasta entonces y funciona bien, pero desafortunadamente no encontré información acerca de asignar un valor a un setting desde JS.

¿Es posible hacer eso? ¿Cómo se haría?

Gracias por leer.

Etiquetas: control, settings, 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:17.