Wordpress定制器奇怪的行为

时间:2017-03-24 13:27:56

标签: php wordpress

我尝试在自定义程序中为我的主题添加一个面板,它有一个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问题。对不起,如果我不能让自己清楚。

提前致谢

1 个答案:

答案 0 :(得分:0)

找到它。结果是我做出了奇怪的行为。我称之为错误的方式。刚改变了这个 - >

$color = get_theme_mod('theme_color_scheme','samon');

到此 - >

$color = get_theme_mod('theme_color','samon');

现在它完美运作。 再来一次