具有默认值的步骤get_theme_mod()
可以将其作为第二个参数传递,如下所示:
$mod = get_theme_mod( \'header_textcolor\', \'#000000\' );
这将输出
#000000
如果没有为保存值
header_textcolor
.
自从你get_theme_mod()
调用是从另一个函数获取设置,generate_css()
, 您需要更新该函数以同时发送默认值:
public static function generate_css( $selector, $style, $mod_name, $default, $prefix=\'\', $postfix=\'\', $echo=true ) {
$return = \'\';
$mod = get_theme_mod( $mod_name, $default );
我在之后添加了它
$mod_name
在那个例子中。
然后你会更新你的header_output()
包含默认值的函数:
public static function header_output() {
?>
<!--Customizer CSS-->
<style type="text/css">
<?php self::generate_css(\'#site-title a\', \'color\', \'header_textcolor\', \'#000000\', \'#\'); ?>
<?php self::generate_css(\'body\', \'background-color\', \'background_color\', \'#FFFFFF\', \'#\'); ?>
<?php self::generate_css(\'a\', \'color\', \'link_textcolor\', \'#0000FF\' ); ?>
</style>
<!--/Customizer CSS-->
<?php
}
现在这些颜色有了默认值。
我认为值得指出的是,如果主题mod没有值,那么您的代码将不会输出任何CSS。这意味着默认样式将来自您的样式表。所以我不确定这里是否有必要设置默认值。