2024年1月31日更新

User::isLoggedIn()函数已经被官方弃用,取而代之的是User::isAnon(),所以需要将下面代码中的函数替换掉。
如果觉得代码麻烦,也可以使用HideSidebar扩展。

2021年8月25日更新

在《MediaWiki导航栏设置》一文中曾经记录了如何实现常规的导航栏设置,但如果我希望匿名登录的用户有另外一套导航栏该怎么做呢?
官方文档中其实给出了答案,在配置文件LocalSettings.php中添加如下代码:

$wgEnableSidebarCache = false;

$wgHooks['SkinBuildSidebar'][] = 'lfHideSidebar';
function lfHideSidebar( $skin, &$bar ) {
  global $wgUser;
  if ( !$wgUser->isLoggedIn() ) {
    $bar = array(
        '导航' => wfMessage( 'anon_sidebar' )->inContentLanguage()->parse(),
    );
  } else {
  }
  return true;
}

保存后,在浏览器中输入MediaWiki:Anon_sidebar,输入诸如:

* [[首页]]
* [[特殊:随机|随机页面]]

那么匿名用户打开网站之后,在侧边栏就只能看到首页和随机页面两个链接。
如果需要更多的链接样式,可以参考《MediaWiki导航栏设置》一文。

参考资料

Manual:Interface/Sidebar/Hacks

最后修改:2024 年 01 月 31 日
如果觉得我的文章对你有用,请随意赞赏