Personalizador de temas de WordPress: no se pueden agregar secciones/configuraciones

2 minutos de lectura

Estoy tratando de modificar el personalizador de temas de Worpdress agregando secciones y configuraciones, pero no importa lo que agregue en mi archivo functions.php, nunca aparece nada en el personalizador.

Ejemplo:

function starter_customize_register( $wp_customize ) 
{
    $wp_customize->add_section( 'mytheme_new_section_name' , array(
    'title'      => __( 'Visible Section Name', 'starter' ),
    'priority'   => 30, ) );    
}
add_action( 'customize_register', 'starter_customize_register');

Habría esperado que esto agregara una sección con el nombre elegido, pero lo único que veo son las dos secciones iniciales de WordPress (título y eslogan del sitio, página principal estática).

Encontré un tutorial bastante bueno aquí (http://code.tutsplus.com/series/a-guide-to-the-wordpress-theme-customizer–wp-33722). Seguí cada paso e incluso tomé su tema de ejemplo, pero nuevamente, no se muestran nuevas secciones o configuraciones.

Me hace preguntarme si algo está mal con mi configuración.

Estoy usando una red/multisitio de wordpress, no sé si eso es relevante.

¿Alguna idea?

gracias laurent

  • una observación adicional: temas como veinticinco, veinticuatro,… están funcionando bien, la personalización funciona para ellos.

    – Laurent

    4 de abril de 2015 a las 13:16

Debe agregar configuraciones y controles para que funcione:

function starter_customize_register( $wp_customize ) 
{
    $wp_customize->add_section( 'starter_new_section_name' , array(
        'title'    => __( 'Visible Section Name', 'starter' ),
        'priority' => 30
    ) );   

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

    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'link_color', array(
        'label'    => __( 'Header Color', 'starter' ),
        'section'  => 'starter_new_section_name',
        'settings' => 'starter_new_setting_name',
    ) ) );
}
add_action( 'customize_register', 'starter_customize_register');

Referencia: API de personalización de temas.

  • Muchas gracias, no me di cuenta de que la configuración y los controles también tenían que estar allí antes de que apareciera algo en el personalizador.

    – Laurent

    5 de abril de 2015 a las 9:13

  • Tenga en cuenta que add_setting hay que llamar antes add_control. Primero enumeré esas dos funciones al revés (add_control arriba add_setting), y eso no funcionó.

    – Kevin Weber

    7 sep 2017 a las 16:53

  • Ojalá la documentación oficial tuviera un ejemplo como este.

    – BugHunterUK

    22 de febrero de 2019 a las 14:15

¿Ha sido útil esta solución?