You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress中仅让管理员可见特定CSS类的问题求助

解决Mapplic弹窗仅对管理员显示的问题

你的问题核心是CSS语法错误导致管理员的显示规则不生效,同时可以优化权限判断逻辑确保兼容性,以下是修复方案:

1. 修复CSS语法错误

你原有的CSS代码中,第二条规则缺少闭合大括号},浏览器无法正确解析这条样式,导致所有用户都看不到弹窗内容。修正后的CSS如下:

.mapplic-popup-body {
    display: none !important;
}

body.is-admin .mapplic-popup-body {
    display: flex !important;
}

2. 确认PHP函数的有效性

你的PHP代码逻辑没问题,但可以优化权限判断覆盖所有管理员场景,同时确保代码被正确加载:

  • 把以下代码添加到当前主题的functions.php文件(推荐使用子主题,避免主题更新丢失修改),或者自定义功能插件中:
function add_admin_body_class($classes) {
    // 检查用户是否登录且拥有管理权限(兼容超级管理员、自定义管理员角色)
    if (is_user_logged_in() && current_user_can('manage_options')) {
        $classes[] = 'is-admin';
    }
    return $classes;
}
add_filter('body_class', 'add_admin_body_class');

3. 验证生效情况

  • 以管理员身份登录前台,右键页面→查看页面源代码,检查<body>标签是否包含is-admin类
  • 若标签中存在该类,CSS规则会自动生效,仅管理员可见弹窗内容;普通用户看不到弹窗

内容的提问来源于stack exchange,提问作者Ahmed Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 01:52:11