Personalizador de tema: ¿Cómo se toma el valor más tarde?

3

Estoy trabajando en un sitio personalizado, haciendo todo mi trabajo en un tema infantil. Necesito agregar una variable, velocidad del control deslizante, al sistema de control personalizado. He podido modificar los controles personalizados a través de las siguientes adiciones a mi archivo de funciones para niños-theme.php:

function Primm_customize_register( $wp_customize ) {

$wp_customize->add_section( 'primm_section' , array(
    'title'     => __( 'Primm Home Page', 'Divi-child' ),
    'capability' => 'edit_theme_options',
    'description' => 'Setting options for home page'
) );

$wp_customize->add_setting(
   // ID
   'primm_slider_speed',
   // Arguments array
   array(
       'default' => '5000',
       'type' => 'option'
   )
);
$wp_customize->add_control(
    // ID
    'primm_slider_speed',
    // Arguments array
    array(
        'label' => __( 'Cycle Time on Slider (0.001 secs)', 'Divi-child' ),
        'section' => 'primm_section',
        'type' => 'text',
        // This last one must match setting ID from above
        'settings' => 'primm_slider_speed'
    )
);
}
 add_action( 'customize_register', 'Primm_customize_register' );

Eso parece funcionar bien. Puedo hacer cambios en el menú personalizado de administración, guardar las configuraciones y ver que un valor parece 'establecido'. Por otro lado, estoy intentando llamar a esa variable desde mi archivo home.php.

 $slider_timing= get_theme_mod('primm_slider_speed');
 echo("Slider Timing: ".$slider_timing);  // test only
 var_dump($slider_timing);

falla total. Esta es mi respuesta:

 Slider Timing: bool(false)             

He estado trabajando en esto por horas. Me estoy perdiendo algo, pero no me queda claro qué. Nota: el tema de mi hijo es "Divi-child" (basado en el nombre del directorio en root / wp-content / themes / Divi-child) ¿Alguien ha estado aquí antes sobre el tema general del personalizador de temas de Wordpress? ¿Cómo permito a los usuarios de administrador establecer un valor en 'almacenamiento' y luego recuperarlo más tarde? Muchas gracias, Zip.

    
pregunta zipzit 26.01.2014 - 05:41

1 respuesta

1

Hice un cambio ...

 $wp_customize->add_setting(
        // ID
        'primm_slider_speed',
        // Arguments array
        array(
            'default' => '5000',
            'type' => 'theme_mod'    <-- made change right here.
        )
     );

'type' = 'option' simplemente no funcionó. 'type' = 'theme_mod' totalmente clavado.

Opción configurada manualmente a 6200, pulsa guardar. Actualizar la página de inicio. Salida ahora:

 Slider Timing: 6200string(4) "6200" 

Big Ouch ... las opciones para type = 'option' o 'theme_mod' seguidas de mi llamada posterior a get_theme_mod() ... ¿Cuál crees que funcionará? (pista: duh)

Información proporcionada aquí para cualquier persona que pueda experimentar el mismo problema.

    
respondido por el zipzit 26.01.2014 - 20:44

Lea otras preguntas en las etiquetas