web-dev-qa-db-de.com

get_theme_mod funktioniert nicht

Aus irgendeinem Grund kann ich die Farbe nicht ausgeben. Alles funktioniert, aber text_color möchte seinen Wert einfach nicht ausgeben.

Was läuft falsch?

Backend-Code (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',
)));

Frontend-Code:

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

Der Parameter 'type'=>'option' ist für den Farbwähler nicht erforderlich. Verwenden Sie stattdessen Folgendes:

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

Mit

typ => Option

benutzen

get_option ('text_color')

und

typ => theme_mod (Standard)

benutzen

get_theme_mod ('text_color')

Mehr hier: https://codex.wordpress.org/Class_Reference/WP_Customize_Manager/add_setting

0
ttn_