web-dev-qa-db-fra.com

get_theme_mod ne fonctionne pas

Pour une raison quelconque, je ne peux pas sortir la couleur. Tout fonctionne, mais text_color ne veut tout simplement pas afficher sa valeur.

Qu'est-ce qui ne va pas?

Code de back end (functions.php):

$wp_customize->add_setting('text_color', array(
    'default'           => '#fff',
    'sanitize_callback' => 'sanitize_hex_color',
    'type'           => 'option',
));

$wp_customize->add_control( new WP_Customize_Color_Control($wp_customize, 'text_color', array(
    'label'    => __('Text color', 'pc'),
    'section'  => 'colors',
    'settings' => 'text_color',
)));

Code frontal:

if(!empty(get_theme_mod( 'text_color' ))) {
?>
h1, h2, h3, h4, h5, h6 {
    color:<?php echo get_theme_mod( 'text_color' ); ?>
}
<?php
}
2
J. Doe

Le paramètre 'type'=>'option' n'est pas requis pour le sélecteur de couleur, utilisez plutôt:

$wp_customize->add_setting('text_color', array(
    'default'           => '#fff',
    'sanitize_callback' => 'sanitize_hex_color',
));
2
mistertaylor

Avec

type => option

utilisation

get_option ('text_color')

et

type => theme_mod (par défaut)

utilisation

get_theme_mod ('text_color')

Plus ici: https://codex.wordpress.org/Class_Reference/WP_Customize_Manager/add_setting

0
ttn_