web-dev-qa-db-ja.com

get_theme_modが機能しない

どういうわけか私は色を出力することができません。すべてうまくいきますが、text_colorはその値を出力したくないだけです。

何がおかしいのですか?

バックエンドコード(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',
)));

フロントエンドコード:

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

'type'=>'option'パラメータはカラーピッカーには必要ではなく、代わりに次のように使用します。

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

あり

type =>オプション

つかいます

get_option( 'text_color')

そして

type => theme_mod(デフォルト)

つかいます

get_theme_mod( 'text_color')

詳細はこちら: https://codex.wordpress.org/Class_Reference/WP_Customize_Manager/add_setting

0
ttn_