我需要帮助找出单选按钮如何在主题设置中保存其值。
在我的主题中,我在主题定制器中添加了单选按钮。到目前为止,他们工作得很好。虽然我有一个问题。我似乎无法为它们设置默认设置,所以如果我在新安装上安装我的主题,或者其他人安装了主题。无论单选按钮用于什么,都不会出现。我说的不是单选按钮本身的默认值,而是默认的主题自定义设置值。下面是我创建单选按钮的方法:
/** Header button options */
$wp_customize->add_setting(
\'header_btn_options\',
array(
\'default\' => \'duplicatebtn\',
) );
$wp_customize->add_control(
\'header_btn_options\',
array(
\'type\' => \'radio\',
\'priority\' => 30,
\'label\' => \'Header buttons type\',
\'section\' => \'mytheme_header\',
\'choices\' => array(
\'duplicatebtn\' => \'Use hero settings\',
\'createcustom\' => \'Use custom settings(modify below)\',
\'hidebtn\' => \'Do not display button\',
),
)
);
下面是我如何设置我的主题设置默认值。我这样做是为了在新安装完成后,主题看起来还可以。
function mytheme_get_theme_mods() {
$defaults = array(
\'mytheme_header_btn_options\' => \'duplicatebtn\'
);
return $defaults;
这就是我的困惑。尽管我尝试将默认值设置为数组中的一个选项,但它不起作用。虽然当我从主题定制器上的单选按钮保存新值时,它是这样工作的。所以它显然有一些价值,只是不是“duplicatebtn”,或者可能是,我做错了。有人能帮我弄清楚吗?
SO网友:Sophy
这是一个很长的问题,但对于一些开发人员来说,我可能会给出这个答案。
示例:我有两个选择用于我的家庭布局Grid
和List
我更喜欢Grid
是默认选择。我应该在中添加默认值add_setting
像这样简单\'default\' => \'grid\'
.
$wp_customize->add_setting(\'yourtheme_home_layout_style\',
array(
\'sanitize_callback\' => \'sanitize_text_field\',
\'default\' => \'grid\'
));
$wp_customize->add_control( \'yourtheme_home_layout_style\', array(
\'section\' => \'yourtheme_home_layout_section\',
\'label\' => __( \'Layout Style\', \'textdomain\' ),
\'type\' => \'radio\',
\'priority\' => 1,
\'choices\' => array(
\'grid\' => __(\'Grid\', \'textdomain\'),
\'list\' => __(\'List\', \'textdomain\'),
),
));