WordPress后台顶部的消息框显示,一直有个BUG,比如常规设置页面,当你点击保存更改后,“设置已保存”的消息框会先显示在H1标题的上方,页面加载完又跳到标题下方,因为页面较长,保存设置后,如果不特意迅速滑动到顶部,并不会看到这个闪烁移位BUG。

该问题的根源在于页面结构设计与DOM操作的不合理。消息框在HTML源码中本位于标题上方,开发者试图通过JavaScript将其动态移动至标题下方。由于JS执行存在延迟,在脚本加载完成前页面会呈现原始布局,从而引发视觉闪烁与位置跳动。在Web性能指标中,这种非预期的布局变动被称为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
} );
之后,问题解决。
上面的方法,并不是完美的解决办法,只是将消息框在H1上方的状态通过CSS隐藏了,视觉上消除了闪烁移位。
只能期盼开发者在新版本中重写这部分结构,彻底消除这个问题。
早在2018年就有人提出这个BUG,最近也有人提过,但居然过了七年有余也未修复,也是无语了。
开发人员,敷衍回复,一会说7.0中准备修复,一会说7.1,最后又说7.2,无限拖延。












