我尝试在自定义程序中为我的主题添加一个面板,它有一个stange行为。
// Color scheme
$wp_customize->add_section('theme_color_scheme', array(
'title' => __('Theme 1 Color Scheme', 'theme_1'),
'description' => sprintf(__('Change color scheme of your site', 'theme_1')),
'priority' => 130
));
// colors
$wp_customize->add_setting('theme_color', array(
'default' => _x('samon', 'theme_1'),
'type' => 'theme_mod'
));
$wp_customize->add_control('theme_color', array(
'label' => __('Text Color', 'theme_1'),
'section' => 'theme_color_scheme',
'type' => 'radio',
'choices' => array(
'samon' => 'Samon',
'green' => 'Green',
'blue' => 'Blue'
),
'priority' => 3
));
首先,它不会返回默认值。没有选中任何选项。然后,当我试图获得该值时,它返回蓝色。
$color = get_theme_mod('theme_color_scheme','samon');
echo $color;
即使我更改了值,它也会返回蓝色。不知道它是缓存问题还是wordpress问题。对不起,如果我不能让自己清楚。
提前致谢
答案 0 :(得分:0)
找到它。结果是我做出了奇怪的行为。我称之为错误的方式。刚改变了这个 - >
$color = get_theme_mod('theme_color_scheme','samon');
到此 - >
$color = get_theme_mod('theme_color','samon');
现在它完美运作。 再来一次