El preview del Customizer no actualiza correctamente el valor de get_option()
Tengo un ajuste en index.php
if(get_option('cb2_blog_home')){
cb_get_blog_links();
}
Este código permite activar o desactivar el índice de blog en la página de inicio. La función cb_get_blog_links() muestra la lista de resúmenes de publicaciones del blog.
Y, en el personalizador, tengo una casilla de verificación para establecer este valor cb2_blog_home. Sin embargo, no tiene efecto. Es como si la opción siempre fuera verdadera.
¿Alguna idea de por qué?
Dentro de esa función, hay varias variables que también estoy configurando con el personalizador. Todas funcionan perfectamente.
Aquí está el código completo del personalizador. Todo funciona perfectamente excepto el ajuste del blog en la página de inicio. Lo único que se me ocurre es que uno es una función y los otros son variables dentro de la función.
function cb_customize_register($wp_customize){
$wp_customize->add_section('cb_customizer_blog', array(
'title' => __('Configuraciones de Blog del Tema', 'Theme'),
'priority' => 120,
));
//Mostrar y Ocultar Enlaces de Blog en Inicio
$wp_customize->add_setting('cb2_blog_home', array(
'default' => '',
'capability' => 'edit_theme_options',
'type' => 'option',
));
$wp_customize->add_control('cb2_blog_home', array(
'label' => __('Activar Blog en Inicio', 'Theme'),
'section' => 'cb_customizer_blog',
'settings' => 'cb2_blog_home',
'type' => 'checkbox',
'priority' => 125,
));
//Conteo de Publicaciones del Blog en Inicio
$wp_customize->add_setting('cb2_blog_home_count', array(
'default' => '3',
'capability' => 'edit_theme_options',
'type' => 'option',
));
$wp_customize->add_control('cb2_blog_home_count', array(
'label' => __('Conteo de Publicaciones del Blog en Inicio', 'Theme'),
'section' => 'cb_customizer_blog',
'settings' => 'cb2_blog_home_count',
'priority' => 130,
));
//Mostrar y Ocultar Título del Blog en Inicio
$wp_customize->add_setting('cb2_blog_home_title_hide', array(
'default' => '',
'capability' => 'edit_theme_options',
'type' => 'option',
));
$wp_customize->add_control('cb2_blog_home_title_hide', array(
'label' => __('Ocultar Título del Blog en Inicio', 'Theme'),
'section' => 'cb_customizer_blog',
'settings' => 'cb2_blog_home_title_hide',
'type' => 'checkbox',
'priority' => 135,
));
//Mostrar y Ocultar Autor en el Blog
$wp_customize->add_setting('cb2_blog_index_author', array(
'default' => '',
'capability' => 'edit_theme_options',
'type' => 'option',
));
$wp_customize->add_control('cb2_blog_index_author', array(
'label' => __('Ocultar Autor del Blog', 'Theme'),
'section' => 'cb_customizer_blog',
'settings' => 'cb2_blog_index_author',
'type' => 'checkbox',
'priority' => 140,
));
//Mostrar y Ocultar Fecha en el Blog
$wp_customize->add_setting('cb2_blog_index_date', array(
'default' => '',
'capability' => 'edit_theme_options',
'type' => 'option',
));
$wp_customize->add_control('cb2_blog_index_date', array(
'label' => __('Ocultar Fecha del Blog', 'Theme'),
'section' => 'cb_customizer_blog',
'settings' => 'cb2_blog_index_date',
'type' => 'checkbox',
'priority' => 145,
));
}
add_action('customize_register', 'cb_customize_register');

Utilizas el tipo option para almacenar tus configuraciones.
El Personalizador no guarda tus valores predeterminados en la base de datos hasta que el usuario haga clic en guardar.
