从WordPress自定义控件获取值的正确方法

我目前正在使用Wordpress主题, 并尝试添加自定义设置控件。我有一个functions.php, 在其中添加这样的设置和控件:

//============================= //= Radio Input= //============================= $wp_customize-> add_setting('radio_input', array( 'default'=> 'value2', 'capability'=> 'edit_theme_options', 'type'=> 'theme_mod', )); $wp_customize-> add_control('themename_color_scheme', array( 'label'=> __('Radio Input', 'themename'), 'section'=> 'themename_color_scheme', 'settings'=> 'radio_input', 'type'=> 'radio', 'choices'=> array( 'value1' => 'Choice 1', 'value2' => 'Choice 2', 'value3' => 'Choice 3', ), ));

而且有效。我可以在Wordpress的主题定制器中选择该选项。现在, 我要签入主文档, 选择了哪个选项-但是我没有得到任何值。这是回显选择数组的代码。
< ?php echo get_theme_mod('radio_input'); ?>

而且, 即使更改设置类型(复选框, 文本输入, 下拉菜单), 我也永远不会获得任何值。如果我回显一个字符串(出于测试目的), 我将看到该字符串, 但无法从设置控件中获取值。我在这里做错了什么?
先感谢你!
#1【从WordPress自定义控件获取值的正确方法】我认为, 部分ID和控件ID应该不同。在你的代码中是相同的:
// CONTROL ID HERE IS THE SAME, AS SECTION ID 'themename_color_scheme' $wp_customize-> add_control('themename_color_scheme', array( 'label'=> __('Radio Input', 'themename'), 'section'=> 'themename_color_scheme', // SECTION ID 'settings'=> 'radio_input', 'type'=> 'radio', 'choices'=> array( 'value1' => 'Choice 1', 'value2' => 'Choice 2', 'value3' => 'Choice 3', ), ));

适用于我:(这应有助于” 经典” 控件类型, 例如文本)
//============================= //= Text Input= //============================= $wp_customize-> add_setting('__UNIQUE_SETTING_ID__', array(// < -- Setting id 'capability'=> 'edit_theme_options', 'type'=> 'theme_mod', )); $wp_customize-> add_control('__UNIQUE_CONTROL_ID__', array(// < -- Control id 'label'=> __('Text Input', 'themename'), 'section'=> '__UNIQUE_SECTION_ID__', // < -- Section id 'settings'=> '__UNIQUE_SETTING_ID__'// Refering to the settings id ));

!但是!在选择类型的情况下(无线电类型可能是相同的情况), 我仍然没有获得价值。这篇文章对我有所帮助, 其中控件ID与设置ID相同:
//============================= //= Select Input= //============================= $wp_customize-> add_setting('__UNIQUE_SETTING_ID__', array(// < -- Setting id 'default'=> 'value2', 'capability'=> 'edit_theme_options', 'type'=> 'theme_mod', )); $wp_customize-> add_control('__UNIQUE_SETTING_ID__', array(// < -- THE SAME Setting id 'label'=> __('Select Input', 'themename'), 'section'=> '__UNIQUE_SECTION_ID__', // < -- Section id // 'settings'=> '__UNIQUE_SETTING_ID__', // Ignoring settings id here 'type'=> 'select', 'choices'=> array( 'value1'=> 'Choice 1', 'value2'=> 'Choice 2', 'value3'=> 'Choice 3', ), ));

    推荐阅读