昨天鸿硕使用customize API设置后台LOGO,前台调用时出现了问题:
想让客户没有后台设置LOGO的情况下,默认显示一个LOGO,也就是一张图片的路径。
模板中的调用方法为:
get_theme_mod('hello', 'http://aaa.com/images/tupian.jpg')
或者
get_option('hello', 'http://aaa.com/images/tupian.jpg')
如果是在初始的状态下,也就是用户没做任何设置,LOGO会显示为'http://aaa.com/images/tupian.jpg'这张图片,没有任何问题!
但是!!如果用户后台设置了LOGO,然后删除了LOGO,也就是清空了设置,这个时候前台LOGO位置就不能正常的显示LOGO了。按道理,后台设置又为空了,应该显示默认LOGO,也就是显示为'http://aaa.com/images/tupian.jpg'这张图片才对,但是却不能正常显示。
经过鸿硕的研究,仅仅后台清空内容不行,这样只是让这条记录的值为空而已,这条记录依然存在,要想上述的调用方法get_theme_mod()或get_option()实现使用默认值,必须得删除这条数据记录。
鸿硕通过自定义函数实现了想要的功能,提示一点请注意:后台面板右侧的实时显示和真正的前端页面有时候不一致,有些内容面板右侧的实时效果显示不出来。