如何在未登录时隐藏MediaWiki站点的侧边栏
解决MediaWiki未登录状态隐藏侧边栏的方案
方法一:通过Monobook.css添加样式(推荐)
你已经把MediaWiki:Monobook.css加入了白名单,未登录用户可以加载这个样式文件,直接在这里加代码就能隐藏侧边栏:
/* 未登录时隐藏左侧侧边栏 */ body.skin-monobook.anonymous #column-one { display: none; } /* 让主内容区域占满宽度,避免侧边栏隐藏后留空白 */ body.skin-monobook.anonymous #content { margin-left: 0; }
操作步骤:
- 登录站点后,打开
MediaWiki:Monobook.css页面 - 粘贴上面的代码,保存即可
方法二:修改LocalSettings.php配置
如果想通过后端逻辑控制,在你现有的配置代码后面加上这段:
// 未登录时清空并隐藏侧边栏 $wgHooks['SkinBuildSidebar'][] = function( $skin, &$bar ) { if ( !$skin->getUser()->isLoggedIn() ) { $bar = []; // 清空侧边栏所有内容 return false; // 停止渲染侧边栏 } return true; };
这种方法会直接取消侧边栏的渲染,配合方法一的CSS调整布局,效果更完整。
验证
修改完成后退出登录,刷新页面就能看到左侧的灰色侧边栏方框已经消失,登录后会正常显示。
内容的提问来源于stack exchange,提问作者Sepp Depp
相关产品推荐
相关产品推荐

