是否在Theme_mod输出中使用wp_Customizer的默认值?

时间:2014-05-08 作者:George Grigorita

是否有方法输出wp_customize 使用echo get_theme_mod (); 没有进入主题定制器,修改一些东西然后保存?

我刚刚读了另一篇stackexchange question 那个get_theme_mod 将仅在您将其保存在主题自定义程序中后显示。无法输出的默认值wp_customize 设置似乎违背了使用默认值的目的。

那么,回到问题上来:有没有办法自动显示wp_customize 前端设置?

2 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

遗憾的是,您的所有自定义控件都连接到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 ] );
}

SO网友:WPExplorer

实际上,您可以输出默认值。正确的方法是为您的mod设置默认值,如下所示:

echo get_theme_mod( \'MOD_ID\', \'YOUR DEFAULT OUTPUT\' );

结束

相关推荐