在php中访问预览设置

时间:2015-07-10 作者:Naoe

我正在使用主题框架的自定义部分。我试图在使用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时,我只得到保存的值,而不是预览值。因此,当用户编辑值时,在保存和更新页面之前,他不会看到任何更改。

1 个回复
SO网友:Naoe

问题似乎是我将函数添加到了“init”中,而预览没有更新。将其添加到wp\\u enqueue\\u脚本解决了我的问题。

已更改

add_action(\'init\', \'autoCompileLess\');

add_action(\'wp_enqueue_scripts\', \'autoCompileLess\');

结束

相关推荐

在unction.php中包含一些变量并回显它们是主题不起作用的几个地方

我正在基于空白主题创建自定义主题。我创建了一个名为aa config的php文件。php和一组变量,然后<?php require get_template_directory() . \'/inc/aa-config.php\'; ?> 这将在WordPress中添加这些变量。然后,我尝试在页脚中添加一个变量。php使用<?php echo $fburl; ?> 但什么都没有表现出来。aa配置。php:<?php $fburl = \'vvv\'; ?>