不知道从WordPress哪个版本开始,后台顶部的消息框,从原来显示在最顶部,被移动到标题下方,看似设计更加合理,但却存在BUG。
比如常规设置页面,当你点击保存更改后,“设置已保存”的消息框会先显示在H1标题的上方,页面加载完又跳到标题下方,因为页面较长,保存设置后,如果不特意迅速滑动到顶部,并不会看到这个闪烁移位BUG。
产生这个问题的根原,开发者并不是通过修改页面结构让消息框显示在标题下面,而是使用拙劣的JS 搬运方式实现的。也就是说消息框本来就在标题上方,通过JS将消息框移动到标题下方,由于页面不加载完JS搬运不会生效,会有延迟,产生闪烁移位,标准的说法叫CLS 布局偏移。
这个视觉BUG,不会影响正常的功能,如果看着不顺眼,可以将代码添加到当前主题函数模板functions.php中:
add_action( 'admin_head', function () {
$screen = get_current_screen();
if ( ! $screen || 'customize' === $screen->id ) {
return;
}
?>
<style>
body.wp-admin:has(.wrap h1, .wrap h2) #wpbody-content > .notice:not(.inline):not(.below-h2),
body.wp-admin:has(.wrap h1, .wrap h2) #wpbody-content > .updated:not(.inline):not(.below-h2),
body.wp-admin:has(.wrap h1, .wrap h2) #wpbody-content > .error:not(.inline):not(.below-h2) {
display: none;
}
</style>
<?php
} );之后,问题解决。
也可以参考下面这篇文章的方法,添加自定义代码。
经常折腾主题的童鞋都知道,在主题函数模板functions.php中添加代码可以增加修改功能,但在升级主题后这些代码需要再次...
13336
我也是写其它功能时,才发现这个BUG,开始以为自己的代码的有问题,折腾半天,最后才发现是程序的BUG。
上面的方法,并不是完美的解决办法,只能期盼开发者在新版本中重写这部分结构,彻底消除这个问题。
早在2018年就有人提出这个BUG,最近也有人提过,但居然过了七年有余也未修复,也是无语了。
开发人员,敷衍回复,一会说7.0中准备修复,一会说7.1,最后又说7.2,无限拖延。
经测试,在WordPress 7.1 RC1中该问题依旧存在。
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!

我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!






