From mediawiki.org
Jump to navigation Jump to search
Other languages:
English • ‎Türkçe • ‎العربية • ‎中文 • ‎日本語
MediaWiki extensions manual
OOjs UI icon advanced.svg
Release status: stable
Implementation Hook
Description Make custom headings in category pages, instead of just the first character headings
Author(s) Brian Wolff (Bawolfftalk)
Latest version 0.3.0 (2017-10-28)
MediaWiki 1.23+
Database changes No
License GNU General Public License 2.0 or later

  • $wgCategorySortHeaderAppendPageNameToKey
Translate the CategorySortHeaders extension if it is available at translatewiki.net

Check usage and version matrix.

The CategorySortHeaders extension to allow specifying custom multi-character 'first-character' sorting headers to list pages under in categories, using syntax like [[Category:Foo|^Header^Invisible part of sortkey]] or even just [[Category:Foo|^Header^]].


If you want a category to use a custom header, do [[Category:Cat name|^header^OptionalInvisibleSortkey]] (or {{DEFAULTSORT:^header^Optionalsortkey}}. If you want to use the default first letter headers, just use categories as normal.


  • Download and place the file(s) in a directory called CategorySortHeaders in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    require_once "$IP/extensions/CategorySortHeaders/CategorySortHeaders.php";
  • Run either "update.php" or "updateCollation.php" from the command line (Note that running the web installer in upgrade mode does not work due to task T19335)
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Warning Warning: Do not set $wgCategoryCollation in "LocalSettings.php". This extension defines its own collation, and must use that.


This extension has a single configuration option:

It defaults to true, which causes a sortkey of ^foo^ to be treated like ^foo^{{PAGENAME}}. If it is set to false, it will sort ^foo^ above ^foo^<any string here>. (In both cases, if there are two exactly same sort keys, the pagename will be used as a tie breaker). After changing this option you should run php updateCollation.php --force
If anyone likes the idea of this extension, but wants to use the uca-default collation instead of uppercase - let me (bawolff) know. It probably wouldn't be very difficult to modify this extension to make it work with uca-default

See also[edit]