This extension is professionally maintained by the WikiTeq team.
WikiTeq provides official support for MediaWiki LTS releases only. It may work with other MediaWiki releases.
MediaWiki extensions manual
Release status: stable
Implementation User interface
Description Allows a per-namespace skin
Author(s) Alexandre Emsenhuber (IAlextalk)
Maintainer(s) WikiTeq team
Latest version 2023-01-10
Compatibility policy For every MediaWiki release that is a Long Term Support release there is a corresponding branch in the extension.
MediaWiki 1.35+
Database changes No
License GNU General Public License 2.0 or later
  • $wgSkinPerNamespaceOverrideLoggedIn
  • $wgSkinPerSpecialPage
  • $wgSkinPerNamespace
Quarterly downloads 2 (Ranked 146th)
Translate the SkinPerNamespace extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

The SkinPerNamespace extension allows to specify a per-namespace skin that can be configured in $wgSkinPerNamespace, but this will also override users preferences, to avoid this you can set $wgSkinPerNamespaceOverrideLoggedIn to false.

Installation edit

  • Download and move the extracted SkinPerNamespace folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/SkinPerNamespace
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'SkinPerNamespace' );
  • Configure as required.
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Configuration edit

You can configure this extension with the following variables:

array mapping namespaces index (i.e. namespaces numbers and not names) to a skin name. Use all lower case name for skin, like monobook, modern, ... otherwise it simply won't work. Example:
$wgSkinPerNamespace[NS_TALK] = 'timeless';
$wgSkinPerNamespace[NS_PROJECT] = 'monobook';
  Note: You can find the constants in includes/Defines.php.
skins for special pages, mapping canonical name (see SpecialPage::$mList in SpecialPage.php) to skin. This overrides $wgSkinPerNamespace[NS_SPECIAL]. Example:
$wgSkinPerSpecialPage['Search'] = 'vector';
$wgSkinPerSpecialPage['Recentchanges'] = 'modern';
if set to true (default value), it will also override the the skin for logged in users, to avoid this you can set it to false and $wgSkinPerNamespace will only apply to anonymous users.

See also edit