我正在使用主题框架的自定义部分。我试图在使用refresh时获得PHP中的预览设置,但我只知道如何访问保存的设置。
<小时>
Short Story
我想得到如下值:
if (is_customize_preview()) {
$outputUrl = get_template_directory_uri() . \'/css/styleTemp.css\';
$color1 = //How do I get the preview value??
} else {
$outputUrl = get_template_directory_uri() . \'/css/style.css\';
$color1 = get_theme_mod(\'rhyme_color_1\', \'#000\');
}
//Does less compilation to $outputUrl Css file
wp_enqueue_style(\'main-style\', $outputUrl);
<小时>
Long Story
我使用refresh进行此操作的原因是,我可以将theme\\u mods连接到较少的变量,这些变量是我在服务器上编译的。然后我将编译好的css提供给该站点。
I\'m creating the setting
$wp_customize->add_setting(
\'rhyme_color_1\',
array(
\'default\' => \'#000000\',
\'transport\' => \'refresh\',
\'type\' => \'theme_mod\',
\'capability\' => \'edit_theme_options\',
\'sanitize_callback\' => \'sanitize_hex_color\'
)
);
Creating the control
$wp_customize->add_control(
new WP_Customize_Color_Control(
$wp_customize,
\'color_1\',
array(
\'label\' => __( \'Color 1\', \'rhyme\' ),
\'section\' => \'colors\',
\'settings\' => \'rhyme_color_1\'
)
)
);
Getting settings
$color1 = get_theme_mod(\'rhyme_color_1\', \'#000\');
当我使用get\\u theme\\u mod时,我只得到保存的值,而不是预览值。因此,当用户编辑值时,在保存和更新页面之前,他不会看到任何更改。