
WordPress 5.0+ 版本中,通过移除用户权限(如 read)来隐藏管理员工具栏已失效;推荐使用 show_admin_bar 过滤器配合 __return_false 实现稳定、全局的隐藏效果。
wordpress 5.0+ 版本中,通过移除用户权限(如 `read`)来隐藏管理员工具栏已失效;推荐使用 `show_admin_bar` 过滤器配合 `__return_false` 实现稳定、全局的隐藏效果。
在早期 WordPress 版本中,开发者常通过移除订阅者(subscriber)的 read 权限来间接隐藏顶部管理栏(Admin Bar),例如:
function remove_read_wpse_93843() {
$role = get_role('subscriber');
$role->remove_cap('read');
}
add_action('admin_init', 'remove_read_wpse_93843');但自 WordPress 5.0 起,管理栏的显示逻辑已与用户能力(capabilities)解耦,转而依赖 show_admin_bar 过滤器。上述权限移除方式不仅失效,还可能导致后台访问异常(如白屏、重定向错误),因其破坏了 WordPress 最小读取权限模型。
✅ 正确且推荐的做法是:在当前主题的 functions.php 文件中添加以下代码:
将 LaTeX(.tex)学术论文转换为 Word(.docx),支持可编辑的 OMML 公式、原生 Word 表格、嵌入图形、IEEE 双栏排版及参考文献
// 彻底禁用 WordPress 管理栏(对所有用户生效)
add_filter('show_admin_bar', '__return_false');该方案简洁、高效、兼容性强,适用于所有用户角色(包括管理员),且不会影响后台功能或用户权限体系。
⚠️ 注意事项:
- 若仅需对非管理员用户隐藏管理栏,可改用条件判断:
add_filter('show_admin_bar', function($show) { return current_user_can('manage_options') ? true : false; }); - 此代码应在主题
functions.php中添加(建议置于文件末尾或独立功能区块),避免放在插件或未激活主题中; - 修改后无需清空缓存即可立即生效(前端与后台均生效);
- 若使用多站点(Multisite),该过滤器默认作用于当前站点;如需全站统一控制,应在
mu-plugins中定义。
总结:放弃基于能力移除的“黑盒”方案,拥抱官方支持的过滤器机制——show_admin_bar 是 WordPress 提供的标准、可靠、向后兼容的管理栏控制接口。

















