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

如何为特定用户设置display:none?当前代码无法生效求助

解决特定用户隐藏元素的CSS不生效问题

问题原因

  • admin_init钩子执行时机过早,此时后台页面还未开始渲染,直接输出的CSS无法被正确插入到页面的<head>区域,导致样式不生效。
  • 自定义CSS可能被其他更高优先级的样式规则覆盖。

修正方案

方案1:使用正确的钩子输出样式

替换admin_init为admin_head钩子,这个钩子会在后台页面的<head>标签内执行,确保样式被正确注入:

function wp_hide_link() {
    $user_id = get_current_user_id();
    if($user_id == 3){
        echo "<style> .fieldset-shipping{display: none !important;}</style>";
    }
}
add_action('admin_head', 'wp_hide_link');

方案2:验证用户ID是否正确获取

如果不确定当前用户ID是否被正确获取,可以添加调试代码确认:

function wp_hide_link() {
    $user_id = get_current_user_id();
    // 调试用:输出当前用户ID到日志,测试完成后删除
    error_log('当前登录用户ID:' . $user_id);
    if($user_id == 3){
        echo "<style> .fieldset-shipping{display: none !important;}</style>";
    }
}
add_action('admin_head', 'wp_hide_link');

额外提示

  • 添加!important是为了提升样式优先级,避免被其他同权重或更高权重的样式覆盖。
  • 如果需要在前端页面(非后台)实现此效果,将admin_head替换为wp_head钩子即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 23:27:07