我正在开发一个使用WordPress主题定制API的主题。
除了最初的主题安装,一切都正常工作。
我的一些选项需要在主题安装时立即设置。
环顾四周后,似乎在add\\u setting选项中设置默认参数应该立即设置该选项,但事实并非如此。
下面是我的代码的简短摘录:
add_action( \'customize_register\', \'generate_customize_register\' );
function generate_customize_register( $wp_customize ) {
// Add Layout section
$wp_customize->add_section(
\'layout_section\',
array(
\'title\' => __( \'Layout\', \'generate\' ),
\'capability\' => \'edit_theme_options\',
\'description\' => __( \'Allows you to edit your theme\\\'s layout.\', \'generate\' ),
\'priority\' => 30
)
);
// Add Header Layout setting
$wp_customize->add_setting(
// ID
\'generate_settings[header_layout_setting]\',
// Arguments array
array(
\'default\' => \'fluid-header\',
\'type\' => \'option\'
)
);
// Add Header Layout control
$wp_customize->add_control(
// ID
\'header_layout_control\',
// Arguments array
array(
\'type\' => \'select\',
\'label\' => __( \'Header Layout\', \'generate\' ),
\'section\' => \'layout_section\',
\'choices\' => array(
\'fluid-header\' => __( \'Fluid / Full Width\', \'generate\' ),
\'contained-header\' => __( \'Contained\', \'generate\' )
),
// This last one must match setting ID from above
\'settings\' => \'generate_settings[header_layout_setting]\',
\'priority\' => 1
)
);
}
如您所见,我创建了一个节,一个带有默认值的设置和该设置的控件。
当我转到主题定制器并保存选项时,会在数据库中创建一个generate\\u settings表,其中包含应该包含的选项。
但是,在新安装主题时,如果进入数据库,则不存在generate\\u settings表-只有在进入主题自定义程序并保存选项时,才会将设置添加到数据库中。
我做错什么了吗?在fresh theme安装中,我可以用这些设置填充数据库吗?
谢谢