在选项数组上循环并由此生成一组默认值。。
让我们假设您的数组如下所示。。(但显然更大)。。
$your_options = array(
array(
\'name\' => \'option-one\',
\'desc\' => \'Option one description\',
\'type\' => \'text\',
\'std\' => \'default_value\'
),
..and so on.. for each option..
);
首先检查是否有选项,如果没有,则是第一次安装,以便设置默认值。
$my_var_that_holds_options = get_option( \'your_theme_options_name\' );
if( !$my_var_that_holds_options ) {
// Do code to setup defaults
}
设置默认值的代码当然会放在我放的地方
// Do code to setup defaults
.
首先,创建一个数组来保存默认值,并在选项数组上循环以构建新的默认值数组。
$defaults = array();
foreach( $your_options_var as $option_data ) {
$defaults[$option_data[\'name\']] = $option_data[\'std\'];
}
最后,您将拥有一个选项名称和默认值的数组,然后可以将其发送到数据库。
update_option( \'your_theme_options_name\', $defaults );
如果您的代码需要循环设置复选框等选项。。保存默认值后,只需再次调用get\\u选项。。
$my_var_that_holds_options = get_option( \'your_theme_options_name\' );
或使用默认数组。
$my_var_that_holds_options = $defaults;
我必须非常笼统地介绍这个示例,因为根据选项数组的结构,方法会有所不同。
这里的重要因素是确保您的选项数组为每个选项保留一个“默认”值(示例中为std),否则您将无法从中形成默认值。
我已经多次转换主题来实现这一点,如果您在实现这一点上有困难,请使用选项数组粘贴您的文件,我来看看。