A magic word is a keyword or phrase recognized by the MediaWiki software (upon which Fandom is built) which triggers the software to do something special on the page. There are two types of magic words: those that are enclosed by double curly braces and those that are enclosed by double underscores (see below).
There are three general types of magic words:
- Behavior switches: these are uppercase words surrounded by double underscores, e.g. __FOO__.
- Variables: these are uppercase words surrounded by double braces, e.g.
{{FOO}}
. As such, they look a lot like Templates. - Parser functions: these take parameters and are either of the form
{{foo:...}}
or{{#foo:...}}
. See also mw:Help:Extension:ParserFunctions.
Page-dependent magic words will affect or return data about the current page (by default), even if the word is added through a transcluded template or included system message.
Instructions[]
It's generally best to add and edit magic words using a source editor.
To add a magic word, simply add the magic word to the content of the page somewhere. It will look like code in the editor, but after you save or preview, it will display as intended. Magic words will show up highlighted (in red for source editor, gray for visual editor).
In the Visual editor[]
In the VisualEditor, magic words that affect the page content will show as templates.
Typing two opening curly braces ( {{
) will bring up a modal to "Add a template", which can be slightly confusing. Once the magic word is entered, and the Add template tab is clicked, there is an error message saying that "The "Template:<magic word>" template doesn't yet exist." but using the Insert tab in the upper right corner of the modal will result in the magic word being added and it will function properly. See the example illustration of adding the {{PAGENAME}}
magic word to this page. Only magic words that are enclosed by double curly braces can be added this way in the Visual editor. You must use a Source editor to add the other type.
Common magic words[]
Here are some of the most commonly used magic words:
{{PAGENAME}}
outputs the name of the page the word is placed on. (Magic words){{SITENAME}}
outputs the name of the community. (Community Central){{NUMBEROFEDITS}}
outputs the Contribution count of the community. (3,883,778){{CURRENTDAYNAME}}
outputs the current day of the week. (Monday){{NUMBEROFARTICLES}}
outputs the number of articles on your community. (37,786){{FULLPAGENAME}}
outputs the full name of the page, i.e. with the namespace prefix, of the page it is placed on. (Help:Magic words){{NAMESPACENUMBER}}
displays the ID (number) of the page's namespace. (12)__NOTOC__
hides the table of contents on a page.__TOC__
places the table of contents exactly where this is entered. It overrides the NOTOC switch.__NOEDITSECTION__
hides the "edit" links beside all headings on the page. To hide the edit link beside a particular heading, specify the heading using an HTML tag such as<h2>heading</h2>
rather than with the usual wiki equals-signs syntax (== heading ==
).__NEWSECTIONLINK__
replaces the "Edit" button with "Add topic", for adding new sections on a non-talk page.__NONEWSECTIONLINK__
replaces the "Add topic" button with "Edit", on talk namespaces.__HIDDENCAT__
placed on a category page, it makes the category hidden.__EXPECTUNUSEDCATEGORY__
removes the category from Special:UnusedCategories which is helpful for tracking categories which should not necessarily appear as "unused" even when they are empty.
Other useful magic words[]
Behavior switches[]
A behavior switch controls the layout or behavior of the page and can often be used to specify desired omissions and inclusions in the content.
Word | Description | Versions | |
---|---|---|---|
Table of contents | |||
__NOTOC__
|
Hides the table of contents (TOC). | ||
__FORCETOC__
|
Forces the table of contents to appear at its normal position (before the first header). | ||
__TOC__
|
Places a table of contents at the word's current position (overriding __NOTOC__ ). If this is used multiple times, the table of contents will appear at the first word's position.
|
||
Editing | |||
__NOEDITSECTION__
|
Hides the section edit links beside headings. This is especially useful, where a heading is created from within a template: the normal wiki section-edit would in this case edit the template code, which is normally counterintuitive to the user. If a template contains multiple headings, it may be necessary to add "__NOEDITSECTION__ " after each heading.
|
||
__NEWSECTIONLINK__
|
Adds a link ("+" by default) beside the "edit" tab for adding a new section on a non-talk page (see Adding a section to the end). | 1.7+ | |
__NONEWSECTIONLINK__
|
Removes the link beside the "edit" tab on pages in talk namespaces. | 1.15+ | |
Categories | |||
__NOGALLERY__
|
Used on a category page, replaces thumbnails in the category view with normal links. | 1.7+ | |
__HIDDENCAT__
|
Used on a category page, hides the category from the lists of categories in its members and parent categories (there is an option in the user preferences to show them). | 1.13+ | |
__EXPECTUNUSEDCATEGORY__
|
Used on a category page, removes the category from Special:UnusedCategories. | 1.33+ | |
Language conversion | |||
__NOCONTENTCONVERT__ __NOCC__
|
On wikis with language variants, don't perform any content language conversion (character and phase) in article display; for example, only show Chinese (zh) instead of variants like zh_cn, zh_tw, zh_sg, or zh_hk. | ||
__NOTITLECONVERT__ __NOTC__
|
On wikis with language variants, don't perform language conversion on the title (all other content is converted). | ||
Other | |||
__START__
|
No effect. | ≤1.10 | |
__END__
|
Explicitly marks the end of the article, to prevent MediaWiki from removing trailing whitespace. Removed in 19213. | 1.1–1.8 | |
__INDEX__
|
Tell search engines to index the page (overrides $wgArticleRobotPolicies, but not robots.txt). It obeys $wgExemptFromUserRobotsControl variable. | 1.14+ | |
__NOINDEX__
|
Tell search engines not to index the page (i.e. do not list in search engines' results). It obeys $wgExemptFromUserRobotsControl variable. | 1.14+ | |
__STATICREDIRECT__
|
On redirect pages, don't allow MediaWiki to automatically update the link when someone moves a page and checks "Update any redirects that point to the original title". | 1.13+ | |
__NOWYSIWYG__
|
Obsolete. Not doing anything anymore since UCP and the introduction of visual editor. (reference) | ||
From Extensions | |||
Extension | Word | Description | Versions |
Extension:Disambiguator | __DISAMBIG__
|
Identifies a disambiguation page. | 1.28+ |
NoTitle | __NOTITLE__
|
Hides the title for a page. (Added by the NoTitle extension, which is default on all Gamepedia wikis.) |
Variables[]
Variables return information about the current page, wiki, or date. Their syntax is similar to templates. Variables marked as "[expensive]" are tracked by the software, and the number that can be included on a page is limited.
If a template name conflicts with a variable, the variable will be used (so to transclude the template Template:PAGENAME you would need to write {{Template:PAGENAME}}
). In some cases, adding parameters will force the parser to invoke a template; for example, {{CURRENTDAYNAME|x}}
transcludes Template:CURRENTDAYNAME, not the variable.
Date and time[]
The following variables return the current date and time in UTC.
Due to MediaWiki and browser caching, these variables frequently show when the page was cached rather than the current time.
The date and time magic words are formatted in the wiki content language. Since 1.19, they depend on the page content language.
Variable | Output | Description | Versions |
---|---|---|---|
Year | |||
{{CURRENTYEAR}}
|
2024 | Year | |
Month | |||
{{CURRENTMONTH}}
|
12 | Month (zero-padded number) | |
{{CURRENTMONTH1}}
|
12 | Month (unpadded number) | |
|
December | Month (name) | |
{{CURRENTMONTHNAMEGEN}}
|
December | Month (genitive form) | |
{{CURRENTMONTHABBREV}}
|
Dec | Month (abbreviation) | 1.5+ |
Day | |||
{{CURRENTDAY}}
|
9 | Day of the month (unpadded number) | |
{{CURRENTDAY2}}
|
09 | Day of the month (zero-padded number) | 1.6+ |
{{CURRENTDOW}}
|
1 | Day of the week (unpadded number), 0 (for Sunday) through 6 (for Saturday) | |
{{CURRENTDAYNAME}}
|
Monday | Day of the week (name) | |
Time | |||
{{CURRENTTIME}}
|
16:09 | Time (24-hour HH:mm format) | |
{{CURRENTHOUR}}
|
16 | Hour (24-hour zero-padded number) | |
Other | |||
{{CURRENTWEEK}}
|
50 | Week (number) | |
|
20241209160902 | YYYYMMDDHHmmss timestamp | 1.7+ |
The following variables do the same as the preceding ones, but using the site's server config or $wgLocaltimezone.
{{LOCALYEAR}}
{{LOCALMONTH}}
{{LOCALMONTH1}}
{{LOCALMONTHNAME}}
{{LOCALMONTHNAMEGEN}}
{{LOCALMONTHABBREV}}
{{LOCALDAY}}
{{LOCALDAY2}}
{{LOCALDOW}}
{{LOCALDAYNAME}}
{{LOCALTIME}}
{{LOCALHOUR}}
{{LOCALWEEK}}
{{LOCALTIMESTAMP}}
For more thorough time formatting, you may want to install mw:Extension:ParserFunctions to use the #time parser function.
Technical metadata[]
Note: Revision variables return data about the latest edit to the current page, even if viewing an older version of the page.
Variable | Output | Description | Versions |
---|---|---|---|
Site | |||
{{SITENAME}}
|
Community Central | The wiki's site name ($wgSitename). | |
{{SERVER}}
|
https://community.fandom.com | Domain URL ($wgServer). | |
{{SERVERNAME}}
|
community.fandom.com | Domain name (no longer dependent on $wgServerName as of version 1.17). | |
{{DIRMARK}} {{DIRECTIONMARK}}
|
|
Outputs a Unicode directional mark that matches the wiki's default language's direction (‎ on left-to-right wikis, ‏ on right-to-left wikis), useful in text with multi-directional text. Since 1.19, it depends on the page content language.
|
1.7+ |
{{SCRIPTPATH}}
|
Relative script path ($wgScriptPath). | ||
{{STYLEPATH}}
|
/skins-ucp/mw139 | Relative style path ($wgStylePath). | 1.16+ |
{{CURRENTVERSION}}
|
1.39.7 | The wiki's MediaWiki version. | 1.7+ |
{{CONTENTLANGUAGE}} {{CONTENTLANG}}
|
en en |
The wiki's default interface language ($wgLanguageCode). | 1.7+ |
Page | |||
{{PAGEID}}
|
447961 | Returns the page identifier. | 1.20+ |
{{PAGELANGUAGE}} {{#language:{{PAGELANGUAGE}}}}
|
en English |
Returns the language of the current page. The language code that this variable returns can be converted to a language name using .... | 1.29+ |
{{PROTECTIONLEVEL:action}}
|
Outputs the protection level (e.g. "autoconfirmed", "sysop") for a given action (e.g. "edit", "move") on the current page. Returns an empty string if not protected. | 1.15+ | |
{{PROTECTIONEXPIRY:action}}
|
Outputs the protection expiry (e.g. "20160418155030", "infinity") for a given action (e.g. "edit", "move") on the current page. Returns "infinity" if not protected. | 1.27+ | |
{{CASCADINGSOURCES}}
|
[Expensive] Returns the sources of any cascading protection acting on the current page. Pages will not return their own title unless they transclude themselves. | 1.23+ | |
Latest revision to current page | |||
{{REVISIONID}}
|
- | Unique revision ID. May be disabled in miser mode returning - instead when not in preview. | 1.5+ |
{{REVISIONDAY}}
|
25 | Day edit was made (unpadded number). | 1.8+ |
{{REVISIONDAY2}}
|
25 | Day edit was made (zero-padded number). | 1.8+ |
{{REVISIONMONTH}}
|
08 | Month edit was made (zero-padded number as of 1.17+, unpadded number in prior versions). | 1.8+ |
{{REVISIONMONTH1}}
|
8 | Month edit was made (unpadded number). | 1.17+ |
{{REVISIONYEAR}}
|
2024 | Year edit was made. | 1.8+ |
{{REVISIONTIMESTAMP}}
|
20240825134848 | Timestamp as of time of edit. | 1.8+ |
{{REVISIONUSER}}
|
Muchos | The username of the user who made the most recent edit to the page, or the current user when previewing an edit. | 1.15+ |
{{REVISIONSIZE}}
|
57616 | The size (bytes of wikitext) of the current revision of this page | 1.22+ |
Affects page content | |||
|
Format the current page's title header. The value must be equivalent to the default title: only capitalization changes and replacing spaces with underscores are allowed (this can be changed with mw:Manual:$wgRestrictDisplayTitle). It can be disabled or enabled by $wgAllowDisplayTitle; disabled by default before 1.10+, enabled by default thereafter.
It can take a second argument of noerror or noreplace to suppress error messages when multiple displaytitles are used on one page or to make this |
1.7+ 1.24+ (for noerror and noreplace) | |
{{DEFAULTSORT:sortkey}} {{DEFAULTSORTKEY:sortkey}} {{DEFAULTCATEGORYSORT:sortkey}} {{DEFAULTSORT:sortkey|noerror}} {{DEFAULTSORT:sortkey|noreplace}}
|
Used for categorizing pages, sets a default category sort key. For example if you put {{DEFAULTSORT:Smith, John}} at the end of John Smith, the page would be sorted under "S" by default in categories. It can take a second argument of noerror or noreplace to suppress error messages when multiple defaultsortkeys are used on one page or to make it do nothing if multiple defaultsortkeys are used.
|
1.10+ 1.19+ (for noerror and noreplace) |
Statistics[]
Numbers returned by these variables normally contain separators (commas or spaces, depending on the local language), but can return raw numbers with the ":R" flag (for example, {{NUMBEROFPAGES}}
→ 1,835,111 and {{NUMBEROFPAGES:R}}
→ 1835111). Use "|R" for magic words that require a parameter like PAGESINCATEGORY (for example {{PAGESINCATEGORY:Help}}
and {{PAGESINCATEGORY:Help|R}}
, or {{PAGESINCATEGORY:Help|subcats}}
and {{PAGESINCATEGORY:Help|subcats|R}}
). Also applicable to {{PAGESIZE:page name}}
hereinbefore.
The number magic words are formatted in the wiki content language. Since 1.19, it depends on the page content language.
Variable | Output | Description | Versions |
---|---|---|---|
{{NUMBEROFPAGES}}
|
1,835,111 | Number of wiki pages. | 1.7+ |
|
37,786 | Number of pages in content namespaces excluding redirects. | |
{{NUMBEROFFILES}}
|
107,792 | Number of uploaded files. | 1.5+ |
{{NUMBEROFEDITS}}
|
3,883,778 | Number of wiki edits. | 1.10+ |
{{NUMBEROFUSERS}}
|
35,808,937 | Number of registered users. | 1.7+ |
{{NUMBEROFADMINS}}
|
24 | Number of users in the sysop group. | 1.7+ |
{{NUMBEROFACTIVEUSERS}}
|
4,096 | Number of active users, based on the criteria used in Special:Statistics. | 1.15+ |
{{PAGESINCATEGORY:categoryname}} {{PAGESINCAT:categoryname}}
|
341 341 |
[Expensive] Number of pages (including any subcategories and files) in the given category. | 1.13+ |
{{PAGESINCATEGORY:categoryname|all}} {{PAGESINCATEGORY:categoryname|pages}} {{PAGESINCATEGORY:categoryname|subcats}} {{PAGESINCATEGORY:categoryname|files}}
|
341 323 18 0 |
[Expensive] Respectively, the number of
in the given category. |
1.20+ |
{{NUMBERINGROUP:groupname}} {{NUMINGROUP:groupname}}
|
3 3 ({{NUMBERINGROUP:bureaucrat}} used here) |
Number of users in a specific group. | 1.14+ |
{{PAGESINNS:index}} {{PAGESINNAMESPACE:index}}
|
Not enabled | Number of pages in the given namespace (replace index with the relevant namespace index). For instance, {{PAGESINNAMESPACE:14}} will output the number of category pages. {{PAGESINNS:0}} differs from {{NUMBEROFARTICLES}} in that the former includes redirects. Disabled by default, enable with $wgAllowSlowParserFunctions.
|
1.7+ |
Page names[]
Variable | Output | Description | Versions |
---|---|---|---|
{{FULLPAGENAME}}
|
Help:Magic words | Namespace and full page title (including all subpage levels). | 1.6+ |
{{PAGENAME}}
|
Magic words | Full page title (including all subpage levels) without the namespace. | |
{{BASEPAGENAME}}
|
Magic words | Page title of the page in the immediately superior subpage level without the namespace ("Title/foo" on "Help:Title/foo/bar").
For more complex splitting, use |
1.7+ |
{{SUBPAGENAME}}
|
Magic words | The subpage title ("bar" on "Help:Title/foo/bar"). | 1.6+ |
{{SUBJECTPAGENAME}} {{ARTICLEPAGENAME}}
|
Help:Magic words Help:Magic words |
Full page name of the associated subject page. | 1.7+ |
{{TALKPAGENAME}}
|
Help talk:Magic words | Full page name of the associated talk page. | 1.7+ |
{{ROOTPAGENAME}}
|
Magic words | Name of the root of the current page. Would return Title on page Help:Title/Foo/Bar | 1.22+ |
The {{BASEPAGENAME}}
and {{SUBPAGENAME}}
magic words only work in namespaces that have subpages enabled. See mw:Manual:$wgNamespacesWithSubpages for information on enabling subpages.
As of 1.15+, these can all take a parameter, allowing specification of the page to be operated on, instead of just the current page:
{{PAGENAME:Template:Main Page}}
→ Main Page
Page titles containing certain characters, such as apostrophes '
or asterisks *
, may produce unexpected results when handled with these magic words, e.g. {{PAGESINCATEGORY:{{PAGENAME}}}}
. See bugs 14779, 16474 and 35628. One simple way to fix this is wrapping the pagename in #titleparts.
For example, if page name is "L'Aquila", the following code will produce the string "Numeric char encoding":
{{#switch:{{PAGENAME}} | L'Aquila = No translation | L = Not OK | L'Aquila = Entity escaping | L'Aquila = Numeric char encoding }}
URL encoded page names[]
The following are equivalents encoded for use in MediaWiki URLs (i.e. spaces replaced with underscores and some characters HTML escaped using numeric character encoding):
{{FULLPAGENAMEE}}
{{PAGENAMEE}}
{{BASEPAGENAMEE}}
{{SUBPAGENAMEE}}
{{SUBJECTPAGENAMEE}}
{{ARTICLEPAGENAMEE}}
{{TALKPAGENAMEE}}
Note that {{PAGENAME}}
, {{PAGENAMEE}}
and {{urlencode:}}
have distinct implementations. See mw:Manual:PAGENAMEE encoding for details.
Namespaces[]
Variable | Output | Description | Versions |
---|---|---|---|
{{NAMESPACE}}
|
Help | Name of the page's namespace | |
{{NAMESPACENUMBER}}
|
12 | ID of the page's namespace | 1.20+ |
{{SUBJECTSPACE}} {{ARTICLESPACE}}
|
Help Help |
Name of the associated content namespace | 1.7+ |
{{TALKSPACE}}
|
Help talk | Name of the associated talk namespace | 1.7+ |
The following are equivalents encoded for use in MediaWiki URLs (spaces replaced with underscores and some characters percent-encoded):
{{NAMESPACEE}}
{{SUBJECTSPACEE}}
{{TALKSPACEE}}
As of 1.15+, these can take a full-page-name parameter and will return the requested namespace associated with that page, instead of with the current page:
{{NAMESPACE:Template:Main Page}}
→ Template{{SUBJECTSPACE:Template:Main Page}}
→ Template{{TALKSPACE:Template:Main Page}}
→ Template talk
Parameter must not be a namespace name:
{{SUBJECTSPACE:Help talk}}
→ (Empty)
Other[]
Variable | Output | Description | Versions |
---|---|---|---|
{{!}}
|
| |
Used to include a pipe character as part of a template argument or table cell contents. Before this was added as a magic word, many wikis implemented this by creating "Template:!" with See Help:Extension:ParserFunctions#Escaping pipe characters in tables for further explanation. |
1.24+ |
Parser functions[]
Parser functions are very similar to variables, but take one or more parameters (technically, any magic word that takes a parameter is a parser function), and the name is sometimes prefixed with a hash to distinguish them from templates.
This page only describes parser functions that are integral to the MediaWiki software. Other parser functions may be added by MediaWiki extensions such as the ParserFunctions extension. For those see mw:Help:Extension:ParserFunctions.
URL data[]
Parser function | Input → Output | Description | Versions |
---|---|---|---|
{{localurl:page name}} {{localurl:page name|query_string}}
|
{{localurl:MediaWiki}} → /wiki/MediaWiki {{localurl:MediaWiki|printable=yes}} → /wiki/MediaWiki?printable=yes
|
The relative path to the title. | |
{{fullurl:page name}} {{fullurl:page name|query_string}} {{fullurl:interwiki:remote page name|query_string}}
|
{{fullurl:Category:Top level}} → https://community.fandom.com/wiki/Category:Top_level
|
A protocol-relative path to the title. This will also resolve interwiki prefixes. Note: Unbracketed (plain) protocol-relative links are not automagically linked. | 1.5+ |
{{canonicalurl:page name}} {{canonicalurl:page name|query_string}} {{canonicalurl:interwiki:remote page name|query_string}}
|
{{canonicalurl:Category:Top level}} → https://community.fandom.com/wiki/Category:Top_level
|
The absolute path to the title, using the canonical URL. This will also resolve interwiki prefixes. | 1.18+ |
{{filepath:file name}} {{filepath:file name|nowiki}} {{filepath:file name|thumbnail_size}}
|
{{filepath:Example flower.jpg}} →
|
A protocol-relative path to the full size or thumbnail (1.18+) of a media file. | 1.12+ 1.18+ |
{{urlencode:string}} (or {{urlencode:string|QUERY}} ) {{urlencode:string|WIKI}} {{urlencode:string|PATH}}
|
{{urlencode:x y z á é}} (or {{urlencode:x y z á é|QUERY}}) → x+y+z+%C3%A1+%C3%A9 {{urlencode:x y z á é|WIKI}} → x_y_z_%C3%A1_%C3%A9 {{urlencode:x y z á é|PATH}} → x%20y%20z%20%C3%A1%20%C3%A9
Note that the default changed from |
The input encoded for use in URLs. Note that there is no urldecode function like there is in the obsolete mw:Extension:StringFunctions. | 1.7+ (or 1.17+) 1.17+ 1.17+ |
{{anchorencode:string}}
|
{{anchorencode:x y z á é}} → x_y_z_á_é
|
The input encoded for use in URL section anchors (after the “#” symbol in a URL). | 1.8+ |
Namespaces[]
{{ns:}}
returns the current localized name for the namespace with that index, canonical name, or local alias. Thus {{ns:6}}
, {{ns:File}}
, and {{ns:Image}}
(an old name for the File namespace) all return "File". On a wiki where the content language is French, {{ns:Fichier}}
is also valid, but {{ns:Datei}}
(the localisation of "File" in German) is not.
{{nse:}}
is the equivalent encoded for MediaWiki URLs. It does the same, but it replaces spaces with underscores, making it usable in external links.
Content namespaces | Talk namespaces | |||
---|---|---|---|---|
Usage | Output | Usage | Output | |
{{ns:-2}} or {{ns:Media}}
|
Media | |||
{{ns:-1}} or {{ns:Special}}
|
Special | |||
{{ns:0}} or {{ns:}}
|
{{ns:1}} or {{ns:Talk}}
|
Talk | ||
{{ns:2}} or {{ns:User}}
|
User | {{ns:3}} or {{ns:User talk}}
|
User talk | |
{{ns:4}} or {{ns:Project}}
|
Community Central Varies between wikis |
{{ns:5}} or {{ns:Project talk}}
|
Community Central talk | |
{{ns:6}} or {{ns:File}} or {{ns:Image}}
|
File | {{ns:7}} or {{ns:File talk}} or {{ns:Image talk}}
|
File talk | |
{{ns:8}} or {{ns:MediaWiki}}
|
MediaWiki | {{ns:9}} or {{ns:MediaWiki talk}}
|
MediaWiki talk | |
{{ns:10}} or {{ns:Template}}
|
Template | {{ns:11}} or {{ns:Template talk}}
|
Template talk | |
{{ns:12}} or {{ns:Help}}
|
Help | {{ns:13}} or {{ns:Help talk}}
|
Help talk | |
{{ns:14}} or {{ns:Category}}
|
Category | {{ns:15}} or {{ns:Category talk}}
|
Category talk |
Don't confuse localised namespaces with custom namespaces.
Formatting[]
Usage | Input → Output | Description | Version |
---|---|---|---|
{{formatnum:unformatted number}}
|
Unsupported: Examples of wrong input (unreliable output), with or without |
Takes an unformatted number (arab, no group separators and . as decimal separator) and outputs it in the localized digit script and formatted with decimal and decimal group separators, according to the wiki's default locale. The If you really need to format (according the wiki's locale) a number in unknown input format, you could try and use |
1.7+ 1.13+ |
|
Note: In the example hereinbefore, "your pref" refers to your date preference on the current MediaWiki wiki only. |
Formats an unlinked date based on user "date format" preference, and adds metadata tagging it as a formatted date. For logged-out users and those who have not set a date format in their preferences, dates can be given a default: mdy , dmy , ymd , ISO 8601 (all case sensitive). If only the month and day are given, only mdy and dmy are valid. If a format is not specified or is invalid, the input format is used as a default. If the supplied date is not recognized as a valid date (specifically, if it contains any metadata such as from a nested use of these or similar templates), it is rendered unchanged, and no (additional) metadata is generated. Although the ISO 8601 standard requires that dates be in the Gregorian calendar, the ISO parameter in this function will still format dates that fall outside the usual Gregorian range (e.g. dates prior to 1583). Also, the magic word cannot properly convert between negative years (used with ISO 8601) and years BC or years BCE (used in general writing). |
1.15+ |
{{lc:string}}
|
{{lc:TEXT TRANSFORM}} → text transform
|
The lowercase input. | 1.5+ |
{{lcfirst:string}}
|
{{lcfirst:TEXT TRANSFORM}} → tEXT TRANSFORM
|
The input with the very first character lowercase. | 1.5+ |
{{uc:string}}
|
{{uc:text transform}} → TEXT TRANSFORM
|
The uppercase input. | 1.5+ |
{{ucfirst:string}}
|
{{ucfirst:text transform}} → Text transform
|
The input with the very first character uppercase. | 1.5+ |
{{padleft:xyz|stringlength}} {{padleft:xyz|strlen|char}} {{padleft:xyz|strlen|string}}
|
{{padleft:xyz|5}} → 00xyz {{padleft:xyz|5|_}} → __xyz {{padleft:xyz|5|abc}} → abxyz {{padleft:xyz|2}} → xyz {{padleft:|1|xyz}} → x (first character of the string) |
Inserts a string of padding characters (character chosen in third parameter; default "0") of a specified length (second parameter) next to a chosen base character or variable (first parameter). The final digits or characters in the base replace the final characters in the padding; i.e. {{padleft:44|3|0}} produces 044. The padding string may be truncated if its length does not evenly divide the required number of characters.
Only the first character of the third parameter is used in versions up to 1.12, but by version 1.15 all the characters are used. Bug (fixed in r45734): multibyte characters are interpreted as two characters, which can skew width. These also cannot be used as padding characters. |
1.8+ |
{{padright:xyz|stringlength}} {{padright:xyz|strlen|char}} {{padright:xyz|strlen|string}}
|
{{padright:xyz|5}} → xyz00
|
Identical to padleft , but adds padding characters to the right side.
|
1.8+ |
See also: mw:Extension:StringFunctions.
Localisation[]
Here are the magic words which are used as main localisation tools. Other magic words will often depend on the wiki's locale and configuration or on the chosen language: see in particular #Date and time, #Formatting, #Miscellaneous. More magic words are added by the Translate extension.
Usage | Input → Output | Description | Version |
---|---|---|---|
{{plural:2|is|are}}
|
{{plural:0|is|are}} → are {{plural:1*1|is|are}} → is {{plural:21 mod 10|is|are}} → are {{plural:{{#expr:21 mod 10}}|is|are}} → is {{plural:1|is|are}} → is {{plural:2|is|are}} → are (For Polish) {{plural:2|milion|miliony|milionów}} → miliony{{plural:5|milion|miliony|milionów}} → milionów
|
Outputs the singular form (second parameter) if the first parameter is an expression equalling one; the plural form (third parameter) otherwise. Its functioning is language-dependent. Plural transformations are used for languages like Russian based on "count mod 10". You should not expect this to handle fractions (like 44.5) — see bug 28128. | |
{{grammar:N|noun}}
|
Outputs the correct inflected form of the given word described by the inflection code after the colon (language-dependent). Grammar transformations are used for inflected languages like Polish. See also mw:Manual:$wgGrammarForms. | 1.7+ | |
{{gender:username
|
(Depends on the named user's gender) | A switch for the gender set in Special:Preferences. Note: If 3rd parameter is omitted and user hasn't defined their gender, then |
1.15+ |
{{int:message name}}
|
{{int:edit}} → Edit (Depends on user language; try: fr • ja) |
Internationalizes (translates) the given interface (MediaWiki namespace) message into the user language. For msgnw and other transclusion magic words, see Help:Templates#Usage.
Note that this can damage / confuse cache consistency in MediaWiki 1.17 and earlier, see bug 14404. |
|
{{int:editsectionhint|MediaWiki}}
|
{{int:editsectionhint|MediaWiki}} → Edit section: MediaWiki
|
You may also use parameters with translations. Parameters are designated in messages with: $1, $2, $3, etc. For example, here is the message for editsectionhint: Edit section: $1 In this example, MediaWiki replaces $1. |
Transclusion modifiers[]
{{Page name|optional params}}
usually transcludes another page, by default from the Template:namespace.
These magic words modify that behavior.
Usage | Output | Description | Version |
---|---|---|---|
{{:xyz}}
|
A bare colon is not a template modifier but the prefix for the main namespace. Since transclusion defaults to the Template namespace, you would use for example, {{:UTC}} (vs. {{UTC}}) to include the text of the main namespace article UTC rather than Template:UTC. | ||
{{int:xyz}}
|
Same as {{MediaWiki:xyz}}, except standard message translation is applied depending on subpages and content/user/uselang language. Another difference is: this doesn't appear under "Templates used on this page:". Rendered as ⧼xyz⧽ if the page MediaWiki:xyz doesn't exist. See also mw:Help:System message. | ||
{{msg:xyz}} {{raw:xyz}}
|
Even if there is a magic word named "xyz", use template:xyz unless the template doesn't exist (equivalent to {{template:xyz}}). Normally, magic words have priority when there is a conflict. | ||
{{raw:xyz}}
|
If $wgEnableScaryTranscluding is enabled, and this is an interwiki transclusion, include the raw wikitext instead of the html from the foreign wiki. | 1.6+ | |
{{msgnw:xyz}}
|
The unexpanded wikitext is rendered (more or less, for details see Help:Templates#Alternate ways to use templates). | ||
{{subst:xyz}}
|
In the wikitext, the tag is substituted by the content (single-level evaluation only), see Help:Templates#Alternate ways to use templates. | ||
{{safesubst:xyz}}
|
See Help:Templates#Alternate ways to use templates. |
Miscellaneous[]
Usage | Output | Description | Version |
---|---|---|---|
{{#language:language code}}
|
language code العربية language code Arabic |
The full name of the language for the given language code: native name (language autonym) by default, name translated in target language if a target language code is specified. mw:Extension:CLDR must be installed for the translation to work. | 1.7+ 1.18+ (translation) |
{{#special:special page name}}
|
Special:Special page name Special:UserLogin |
The localized name for the given canonical Special: page. | 1.9+ |
{{#speciale:special page name}}
|
Special:Special_page_name Special:UserLogin |
The localized and URL-encoded name for the given canonical Special: page. | 1.20+ |
{{#tag:tagname
|
(Depends on parser tag) | Alias for XML-style MediaWiki parser tags or extension tags. It allows execution of wiki code and parser functions within tags before the tag is processed. It also prevents parsing of tags in conditional paths that aren't executed (like in #if statements). Content between tags is passed as the first parameter, and any attributes for the tags can be passed as subsequent parameters. This example:
…can be rewritten like this:
Example for the Cite extension's
You must write |
1.12+ |
Full list of magic words[]
For a full list of available[1] magic words, see the magic words help page on MediaWiki.
Notes[]
- ↑ Some magic words may function differently, or not work, at Fandom. This occurs because the version of the MediaWiki software used by Fandom is not always the same version as those of either MediaWiki.org or Wikipedia.
{{SUBJECTPAGENAME}}
and{{TALKPAGENAME}}
(similarly{{SUBJECTPAGENAMEE}}
and{{TALKPAGENAMEE}}
) may not always act inversely. For example:{{TALKPAGENAME:User:Example}}
→ User talk:Example{{SUBJECTPAGENAME:Message Wall:Example}}
→ Message Wall:Example{{SUBJECTPAGENAME:User Talk:Example}}
→ User:Example
See also[]
- Editing
- Parser Functions on MediaWiki.org
Further help and feedback[]
- Browse and search other help pages at Help:Contents
- Check Fandom Community Central for sources of further help and support
- Check Contacting Fandom for how to report any errors or unclear steps in this article