我错过了什么。。。在代码中使用===时,前端根本不会显示元素,直到我禁用并重新启用WP Customizer中的一个选项。
例如,我有一个可以禁用的徽标。安装主题并通过自定义程序查看站点后,徽标显示良好。但是,当在前端查看它时,在我禁用徽标,然后在自定义程序中再次启用之前,徽标根本不会显示。
代码如下:
<?php if( get_theme_mod(\'hide_logo\') === \'\') { ?>
LOGO CODE
<?php } ?>
==效果很好,虽然我正在制作一个小主题出售,而且市场需要严格的平等检查。
谢谢
最合适的回答,由SO网友:Howdy_McGee 整理而成
这个get_theme_mod()
function 可以返回显式false
. 这个===
operator 查找精确匹配,因此在hide_logo
未设置该函数将返回false
false与空字符串不完全匹配\'\'
. 这个==
从这个意义上讲,操作员更宽容一点,这就是为什么您没有问题的原因。
您可以提供默认值作为第二个参数,如果未设置或不存在值,将返回该参数:
if( \'\' === get_theme_mod( \'hide_logo\', \'\' ) ) {}