遗憾的是,您的所有自定义控件都连接到customize_register
, 因此,只有在第一次定制主题时,它们才会发挥作用。
get_theme_mod()
为“default”值接受第二个参数-是的,这意味着代码中有两个数据实例,但这是半个解决方案。
我想更多DRY 该方法将是全局和;助手功能:
$my_theme_defaults = array(
\'foo\' => \'bar\',
\'baz\' => \'boo\',
);
function my_theme_customize( $wp_customize ) {
global $my_theme_defaults;
$wp_customize->add_setting(
\'foo\',
array(
\'default\' => $my_theme_defaults[\'foo\'],
)
);
}
function my_theme_mod( $name ) {
global $my_theme_defaults;
echo get_theme_mod( $name, $my_theme_defaults[ $name ] );
}