设置WP Customizer选项,如果该值不是该设置的默认值,则仅将CSS写入头部。但是有时自定义程序会将十六进制值保存在所有大写字母中,有时则是小写字母。默认值都设置为大写值,即使在自定义程序中它们看起来是大写值,有时也会在CSS中打印小写十六进制值,从而添加不必要的代码。
在这种情况下,是否有方法覆盖十六进制值的大小写敏感度?
$cssoutput = \'\';
////* save the styles to the cssoutput
if ( $bg !== \'#F5F5F5\' ) {
$cssoutput .=
"body { background-color: " . $bg . "; } \\n";
}
if ( $title !== \'#333333\' ) {
$cssoutput .=
".site-title a { color: " . $title . "; } \\n";
}
echo
"<style type=\\"text/css\\">" . $cssoutput . "</style>";
当它根本不应该写入值时会导致这种情况-
<style type="text/css">body { background-color: #f5f5f5; } </style>
此外,我应该注意到,这似乎是一个随机操作,一些混合的十六进制值都是大写的,而另一些是小写的,即使它们都输入并保存为大写值。
最合适的回答,由SO网友:Joey Yax 整理而成
这是比WordPress更基本的PHP,但您可以使用strcasecmp()
.
if ( strcasecmp( $bg, \'#F5F5F5\' ) != 0 ) {
$cssoutput .= "body { background-color: " . $bg . "; } \\n";
}