Help:Magic words

From Memipedia
Jump to navigation Jump to search
PD Note: When you edit this page, you agree to release your contribution under the CC0. See Public Domain Help Pages for more info.
PD

Magic words are strings of text that MediaWiki associates with a return value or function, such as time, site details, or page names. This page explains only the standard magic words; for a technical reference, see Manual:Magic words .

There are three general types of magic words:

Variables and parser functions can use subst:, just like templates. 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.

Behavior switches[edit source]

A behavior switch controls the layout or behavior of the page (if supported by the skin) and can often be used to specify desired omissions and inclusions in the content. Notably some of these are not supported by the Minerva skin.

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, overriding __NOTOC__).
__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 usually not what the user intends. Use of this in a template will extend the effect to that template, the pages it's included on, and any other templates included on the same page. For a workaround, see here.
__NEWSECTIONLINK__ Adds a link beside the "Edit" tab for adding a new section on a non-talk page (see Adding a section to the end). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7
__NONEWSECTIONLINK__ Removes the link beside the "Edit" tab on pages in talk namespaces. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.15

r47522
Categories
__NOGALLERY__ Used on a category page, replaces thumbnails in the category view with normal links. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 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). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.13
__EXPECTUNUSEDCATEGORY__ Used on a category page, removes the category from Special:UnusedCategories. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 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. Was used to point where database message starts after comment that should not be transcluded. Removed in r1695 and completely removed in r24784. <td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar">
<translate> ≤</translate> 1.10

r1610
__END__ Explicitly marks the end of the article, to prevent MediaWiki from removing trailing whitespace. Removed in 19213. <td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar">
1.1 – 1.8
__INDEX__ Tell search engines to index the page (overrides $wgArticleRobotPolicies but not robots.txt). It obeys $wgExemptFromUserRobotsControl variable. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.14
__NOINDEX__ Tell search engines not to index the page (i.e. do not list in search engines' results). It obeys $wgExemptFromUserRobotsControl variable. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.14

r37973
__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" (which requires $wgFixDoubleRedirects ). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.13

r37928
From Extensions
Extension Word Description Versions
GlobalUserPage __NOGLOBAL__ Disables the global user page. If present on the central user page, will prevent it from being displayed on remote wikis, and it also determines whether a link to a user page on remote wiki should be red or blue. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.28
Disambiguator __DISAMBIG__ Identifies a disambiguation page. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.21

Variables[edit source]

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[edit source]

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 use of those variables cause pages to be cached for a more limited number of seconds. This is configured in MagicWordFactory.

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}} 2021 Year
Month
{{CURRENTMONTH}} 05 Month (zero-padded number)
{{CURRENTMONTH1}} 5 Month (unpadded number)
{{CURRENTMONTHNAME}} May Month (name)
{{CURRENTMONTHNAMEGEN}} May Month (genitive form)
{{CURRENTMONTHABBREV}} May Month (abbreviation) <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.5
Day
{{CURRENTDAY}} 10 Day of the month (unpadded number)
{{CURRENTDAY2}} 10 Day of the month (zero-padded number) <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 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}} 21:51 Time (24-hour HH:mm format)
{{CURRENTHOUR}} 21 Hour (24-hour zero-padded number)
Other
{{CURRENTWEEK}} 19 Week (number)
{{CURRENTTIMESTAMP}} 20210510215116 YYYYMMDDHHmmss timestamp <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 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, or to output the current year and week with better compliance with ISO-8601, you may want to install Extension:ParserFunctions to use the #time parser function.

Technical metadata[edit source]

Variable Output Description Versions
Site
{{SITENAME}} Memipedia The wiki's site name ($wgSitename).
{{SERVER}} https://memes.miraheze.org Domain URL ($wgServer).
{{SERVERNAME}} memes.miraheze.org Subdomain and 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 (&lrm; on left-to-right wikis, &rlm; on right-to-left wikis), useful in text with multi-directional text. Since 1.19, it depends on the page content language. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7

r14442
{{SCRIPTPATH}} /w Relative script path ($wgScriptPath).
{{STYLEPATH}} /w/skins Relative style path ($wgStylePath). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.16
{{CURRENTVERSION}} 1.35.2 (1bec1a0) The wiki's MediaWiki version. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7

r14199
{{CONTENTLANGUAGE}}

{{CONTENTLANG}}

en

en

The wiki's default interface language ($wgLanguageCode). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7

r14661
Page
{{PAGEID}} 590 Returns the page identifier. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.20

Gerrit change 9858
{{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 {{#language:...}}. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.29

Gerrit change 330982
<translate><!--T:1--> Translated unit. Language: <tvar|lang>{{TRANSLATIONLANGUAGE}}</>.</translate>

<translate><!--T:2--> Not translated unit. Language: <tvar|lang>{{TRANSLATIONLANGUAGE}}</>.</translate>

Translated unit. Language: en.

Not translated unit. Language: en.

Must be used in a translated page, inside <translate> tags. Returns the language code of the current translation unit. In a translation page, if the unit has been translated, then it returns translation language. Else, it returns source language. The language code that this variable returns can be converted to a language name using {{#language:...}}. Should only be used by translation admins. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.36.0-wmf.8

Gerrit change 603472
{{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. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.15

r45587
{{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. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.27

Gerrit change 255717
{{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. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.23

Gerrit change 104999
Latest revision to current page
{{REVISIONID}} 5136 Unique revision ID. It is empty in preview, thus one can show an error message only in preview. May be disabled in miser mode. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.5
{{REVISIONDAY}} 6 Day edit was made (unpadded number). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.8
{{REVISIONDAY2}} 06 Day edit was made (zero-padded number). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.8
{{REVISIONMONTH}} 04 Month edit was made (zero-padded number as of 1.17+, unpadded number in prior versions). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.8
{{REVISIONMONTH1}} 4 Month edit was made (unpadded number). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.17

r66200
{{REVISIONYEAR}} 2021 Year edit was made. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.8
{{REVISIONTIMESTAMP}} 20210406194855 Timestamp as of time of edit. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.8
{{REVISIONUSER}} WikiJS The username of the user who made the most recent edit to the page, or the current user when previewing an edit. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.15

r48149
{{REVISIONSIZE}} 89297 The size (bytes of wikitext) of the current revision of this page <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.22

Gerrit change 82650
Affects page content
{{DISPLAYTITLE:title}}
{{DISPLAYTITLE:title|noerror}}
{{DISPLAYTITLE:title|noreplace}}
Format the current page's title header. The value must be equivalent to the default title: only capitalization changes to certain parts of the title (not all) and replacing spaces with underscores are allowed (this can be changed with $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 displaytitle do nothing if a displaytitle was already specified earlier in the page.

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7
<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.24

Gerrit change 144870

(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 this defaultsort do nothing if a defaultsort was already specified earlier in the page. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.10
<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.19

r96767

(for noerror and noreplace)

Statistics[edit source]

Numbers returned by these variables normally contain separators (commas, dots or spaces, depending on the local language) but can return raw numbers with the ":R" flag (for example, {{NUMBEROFPAGES}} → 958 and {{NUMBEROFPAGES:R}} → 958).

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}} 958 Number of wiki pages. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7
{{NUMBEROFARTICLES}} 8 Number of pages in content namespaces that qualify as articles. See Manual:$wgArticleCountMethod for details.
{{NUMBEROFFILES}} 16 Number of uploaded files. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.5
{{NUMBEROFEDITS}} 6,176 Number of wiki edits. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.10

r21319
{{NUMBEROFVIEWS}} Number of page views. Usually useless on a wiki using caching. Removed in Gerrit change 150699. <td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar">
1.14 – 1.24

r42721
{{NUMBEROFUSERS}} 30 Number of registered users. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7
{{NUMBEROFADMINS}} 3 Number of users in the sysop group . <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7
{{NUMBEROFACTIVEUSERS}} 2 Number of active users, based on the criteria used in Special:Statistics. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.15

r47392
{{PAGESINCATEGORY:categoryname}}
{{PAGESINCAT:categoryname}}
31
31
[Expensive] Number of pages (including subcategories and files) in the given category. (Category:Help used for demonstration) <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.13

r32932
{{PAGESINCATEGORY:categoryname|all}}
{{PAGESINCATEGORY:categoryname|pages}}
{{PAGESINCATEGORY:categoryname|subcats}}
{{PAGESINCATEGORY:categoryname|files}}
31
31
0
0
[Expensive] Respectively, the number of
  • all pages
  • ordinary pages (excluding subcategories and files)
  • subcategories or
  • files

in the given category. (Category:Help used for demonstration)

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.20

Gerrit change 12790
{{NUMBERINGROUP:groupname}}
{{NUMINGROUP:groupname}}
2
2
Number of users in a specific group . ({{NUMBERINGROUP:bureaucrat}} used for demonstration) <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.14

r40116
{{PAGESINNS:index}}
{{PAGESINNAMESPACE:index}}
Not enabled [Expensive] 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 and disambiguation pages. Disabled by default, enable with $wgAllowSlowParserFunctions . <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7

Page names[edit source]

Variable For current page Description Versions
{{FULLPAGENAME}} Help:Magic words Namespace and full page title (including all subpage levels). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 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. Would return Title/Foo on page Help:Title/Foo/Bar. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7
{{ROOTPAGENAME}} Magic words Name of the root of the current page. Would return Title on page Help:Title/Foo/Bar. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.22
{{SUBPAGENAME}} Magic words The subpage title. Would return Bar on page Help:Title/Foo/Bar.

If no subpage exists the value of {{PAGENAME}} is returned.

For more complex splitting, use {{#titleparts:}} from the ParserFunctions extension.

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.6
{{SUBJECTPAGENAME}}
{{ARTICLEPAGENAME}}
Help:Magic words
Help:Magic words
Full page name of the associated subject (e.g. article or file). Useful on talk pages. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7
{{TALKPAGENAME}} Help talk:Magic words Full page name of the associated talk page. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7

None of these are affected by changes to the display title using {{DISPLAYTITLE:xxxx}}; the values returned are the original page title.

The {{BASEPAGENAME}} and {{SUBPAGENAME}} magic words only work in namespaces that have subpages enabled. See $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
Trollnotice.png Title

Text


Trollnotice.png Title

Text


URL encoded page names[edit source]

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}}
  • {{ROOTPAGENAMEE}}

Note that {{PAGENAME:...}}, {{PAGENAMEE:...}} and {{urlencode:...}} have distinct implementations. See Manual:PAGENAMEE encoding for details.

Namespaces[edit source]

Variable Output Description Versions
{{NAMESPACE}} Help Name of the page's namespace
{{NAMESPACENUMBER}} 12 ID of the page's namespace <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.20

Gerrit change 4056
{{SUBJECTSPACE}}
{{ARTICLESPACE}}
Help
Help
Name of the associated content namespace <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7
{{TALKSPACE}} Help talk Name of the associated talk namespace <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7

The following are equivalents encoded for use in MediaWiki URLs (spaces replaced with underscores and some characters percent-encoded):

  • {{NAMESPACEE}}
  • {{SUBJECTSPACEE}}
  • {{ARTICLESPACEE}}
  • {{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:

  • {{NAMESPACENUMBER:MediaWiki}}0
  • {{NAMESPACE:MediaWiki}} (Pages in main space will return empty)
  • {{NAMESPACE:Template:Main Page}}Template
  • {{SUBJECTSPACE:Template:Main Page}}Template
  • {{ARTICLESPACE:Template:Main Page}}Template
  • {{TALKSPACE:Template:Main Page}}Template talk

Parameter must not be a namespace name:

  • {{SUBJECTSPACE:Help talk}}  (Empty)

Other[edit source]

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 | as the content.

See Help:Extension:ParserFunctions#Escaping pipe characters in tables for further explanation.

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.24

Gerrit change 136234

Parser functions[edit source]

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 Extension:ParserFunctions . For those see Help:Extension:ParserFunctions .

Technical metadata of another page[edit source]

Parser function Output
(for page MediaWiki)
Description Versions
{{PAGEID: page name }} 591 [Expensive] Returns the page identifier of the specified page*. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.23

Gerrit change 76534
{{PAGESIZE:page name}}
{{PAGESIZE: page name |R}}
89,297
89297
[Expensive] Returns the byte size of the specified page. Use "|R" to get raw (unformatted) numbers. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.13

r33551
{{PROTECTIONLEVEL:action | page name}} [Expensive] Outputs the protection level (e.g. "autoconfirmed", "sysop") for a given action (e.g. "edit", "move") on the specified page. Returns an empty string if not protected. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.21

r44683
{{PROTECTIONEXPIRY:

action | page name}}

infinity [Expensive] Outputs the protection expiry (e.g. "20160418155030", "infinity") for a given action (e.g. "edit", "move") on the specified page. Returns "infinity" if not protected. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.27

Gerrit change 255717
{{CASCADINGSOURCES: page name}} [Expensive] Returns the sources of any cascading protection acting on the specified page. Pages will not return their own title unless they transclude themselves. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.23

Gerrit change 104999
{{REVISIONID: page name }} 5138 [Expensive] Unique revision ID of the last revision on the specified page*. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.23

Gerrit change 76534
{{REVISIONDAY: page name }} 6 [Expensive] Day of edit from the last revision of the specified page* (unpadded number). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.23

Gerrit change 76534
{{REVISIONDAY2: page name }} 06 [Expensive] Day of edit from the last revision of the specified page* (zero-padded number). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.23

Gerrit change 76534
{{REVISIONMONTH: page name }} 04 [Expensive] Month of edit from the last revision of the specified page* (zero-padded number as of 1.17+, unpadded number in prior versions). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.23

Gerrit change 76534
{{REVISIONMONTH1: page name }} 4 [Expensive] Month of edit from the last revision of the specified page* (unpadded number). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.23

Gerrit change 76534
{{REVISIONYEAR: page name }} 2021 [Expensive] Year of edit from the last revision of the specified page*. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.23

Gerrit change 76534
{{REVISIONTIMESTAMP: page name }} 20210406194856 [Expensive] Timestamp as of time of edit on the specified page*. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.23

Gerrit change 76534
{{REVISIONUSER: page name }} WikiJS [Expensive] The username from the last revision on the specified page*. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.23

Gerrit change 76534
*When the given param is equal to the current title of the parser, the parser function will yield the previous versions on preview and on substitution, that includes empty strings when used on page creation but using the values from the current version for page view, including viewing old revisions. In this case it is a non-expensive parser function.

URL data[edit source]

Parser function Input → Output Description Versions
{{localurl:page name}}
{{localurl:page name
|query_string}}
{{localurl:MediaWiki}}
→ /wiki/MediaWiki
{{localurl:MediaWiki|printable=yes}}
→ /w/index.php?title=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://memes.miraheze.org/wiki/Category:Top_level

{{fullurl:Category:Top level|action=edit}}
https://memes.miraheze.org/w/index.php?title=Category:Top_level&action=edit
{{fullurl:s:Electra|action=edit}}
https://memes.miraheze.org/w/index.php?title=S:Electra&action=edit
{{fullurl:s:es:Electra|action=edit}}
https://memes.miraheze.org/w/index.php?title=S:es:Electra&action=edit

A protocol-relative path to the title, which depends on the $wgServer configuration setting for the local wiki (and so may or may not start with http(s)://). This will also resolve interwiki prefixes. Note: Unbracketed (plain) protocol-relative links are not automagically linked. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.5
{{canonicalurl:page name}}
{{canonicalurl:page name
|query_string}}

{{canonicalurl:interwiki:remote page name
|query_string}}
{{canonicalurl:Category:Top level}}
https://memes.miraheze.org/wiki/Category:Top_level

{{canonicalurl:Category:Top level|action=edit}}
https://memes.miraheze.org/w/index.php?title=Category:Top_level&action=edit

The absolute path to the title, using the canonical URL. This will also resolve interwiki prefixes. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.18
{{filepath:file name}}
{{filepath:file name|nowiki}}
{{filepath:file name|thumbnail_size}}
{{filepath:Wiki.png}}

{{filepath:Wiki.png|nowiki}}

{{filepath:Example.svg|300}}
https://upload.wikimedia.org/wikipedia/commons/thumb/8/84/Example.svg/300px-Example.svg.png

The parameter nowiki usually removes the link around the filepath (which can't be seen in this example).

A protocol-relative path to the full size or thumbnail (1.18+) of a media file. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.12

r25854

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.18

r80813
{{urlencode:string}} or
{{urlencode:string|QUERY}}
{{urlencode:string|WIKI}}
{{urlencode:string|PATH}}
{{urlencode:x:y/z á é}} or
{{urlencode:x:y/z á é|QUERY}}
→ x%3Ay%2Fz+%C3%A1+%C3%A9
{{urlencode:x:y/z á é|WIKI}}
→ x:y/z_%C3%A1_%C3%A9
{{urlencode:x:y/z á é|PATH}}
→ x%3Ay%2Fz%20%C3%A1%20%C3%A9

Note that the default changed from |WIKI to |QUERY in 1.17; this may break templates that rely on this function.

The input encoded for use in URLs. Note that there is no urldecode function like there is in the obsolete Extension:StringFunctions
Encoding
codespace
 none + 
QUERY + 
 WIKI _ 
 PATH%20
<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7

r14273
(or <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.17

r64726

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.17

r64726

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.17

r64726
)
{{anchorencode:string}} {{anchorencode:x y z á é}}
→ x_y_z_á_é
The input encoded for use in URL section anchors (after the “#” symbol in a URL). <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.6

r16279

Namespaces[edit source]

{{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}} / {{ns:Media}} Media {{ns:-1}} / {{ns:Special}} Special
(no talk page)
{{ns:0}} / {{ns:}} {{ns:1}} / {{ns:Talk}} Talk
{{ns:2}} / {{ns:User}} User {{ns:3}} / {{ns:User talk}} User talk
{{ns:4}} / {{ns:Project}} Memipedia
Varies between wikis
{{ns:5}} / {{ns:Project talk}} Memipedia talk
{{ns:6}} / {{ns:File}} or {{ns:Image}} File {{ns:7}} / {{ns:File talk}} or {{ns:Image talk}} File talk
{{ns:8}} / {{ns:MediaWiki}} MediaWiki {{ns:9}} / {{ns:MediaWiki talk}} MediaWiki talk
{{ns:10}} / {{ns:Template}} Template {{ns:11}} / {{ns:Template talk}} Template talk
{{ns:12}} / {{ns:Help}} Help {{ns:13}} / {{ns:Help talk}} Help talk
{{ns:14}} / {{ns:Category}} Category {{ns:15}} / {{ns:Category talk}} Category talk

Don't confuse localised namespaces with custom namespaces.

Formatting[edit source]

Usage Input → Output Description Version
{{formatnum:unformatted number}}

{{formatnum:formatnum-formatted number|R}}
{{formatnum:unformatted number|NOSEP}}

  • Simple:
    • {{formatnum:987654321.654321}}
      → 987,654,321.654321
    • {{formatnum:987,654,321.654321|R}}
      → 987654321.654321
  • Advanced:
    • {{formatnum:{{formatnum:987654321.654321}}|R}}
      → 987654321.654321 (on any locale)
    • {{formatnum:00001}}
      → 00,001
    • {{formatnum:987654321.654321 |NOSEP}}
      → 987654321.654321
    • Examples with Bangla locale:
      • {{formatnum:987654321.654321}}
        → ৯৮,৭৬,৫৪,৩২১.৬৫৪৩২১
      • {{formatnum:987654321.654321 |NOSEP}}
        → ৯৮৭৬৫৪৩২১.৬৫৪৩২১
      • {{formatnum:৯৮,৭৬,৫৪,৩২১.৬৫৪৩২১ |R}}
        → 987654321.654321

Unsupported:
{{formatnum:{{formatnum:987.654.321}}}}
→ 987 654 321 (e.g. with Italian locale)


Examples of wrong input (unreliable output), with or without |R:
{{formatnum:987,654.321|R}} (the least broken)
{{formatnum:987.654,321|R}}
{{formatnum:987 654,321|R}}
{{formatnum:987&nbsp;654,321|R}}

Takes an unformatted number (Arabic, 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 |R parameter can be used to reverse the behavior, for use in mathematical situations: it's reliable and should be used only to deformat numbers which are known to be formatted exactly as formatnum formats them with the wiki's locale.
The NOSEP ("no separators") parameter means that no group / decimal separators are changed; formatnum will only transform the digits themselves in languages which don't use the Hindu–Arabic numeral system. NOSEP can also prevent non-standard digit groupings you wouldn't expect.

Trollnotice.png Title

Text


Trollnotice.png Title

Text



If you really need to format (according the wiki's locale) a number in unknown input format, you could try and use formatnum two times (but not if it can have a decimal group, or its separator will be eaten or the number won't be formatted). Be aware that this is more a hack than a regular way to proceed, thus the output may be not reliable.

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.13

r32012

{{#dateformat:date}}
{{#formatdate:date}}
{{#dateformat:date|format}}
{{#formatdate:date|format}}

{{#dateformat:25 dec 2009|ymd}}
2009 December 25 (your pref), 2009 Dec 25 (default)
{{#formatdate:dec 25,2009|dmy}}
25 December 2009 (your pref), 25 Dec 2009 (default)
{{#dateformat:2009-12-25|mdy}}
December 25, 2009 (your pref), December 25, 2009 (default)
{{#formatdate:2009 dec 25|ISO 8601}}
2009-12-25 (your pref), 2009-12-25 (default)
{{#dateformat:25 decEmber|mdy}}
December 25 (your pref), DecEmber 25 (default)
Note: In the examples above, "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.
Trollnotice.png Title

Text


<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.15

r48249
{{lc:string}} {{lc:DATA CENTER}} → data center The lowercase input. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.5
{{lcfirst:string}} {{lcfirst:DATA center}} → dATA center The input with the very first character lowercase. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.5
{{uc:string}} {{uc:text transform}} → TEXT TRANSFORM The uppercase input. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.5
{{ucfirst:string}} {{ucfirst:text tRAnSFORM}} → Text tRAnSFORM The input with the very first character uppercase. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 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.

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.8
{{padright:xyz|stringlength}}
{{padright:xyz|strlen|char}}
{{padright:xyz|strlen|string}}
{{padright:xyz|5}} → xyz00

{{padright:xyz|5|_}} → xyz__
{{padright:xyz|5|abc}} → xyzab
{{padright:xyz|2}} → xyz
{{padright:|1|xyz}} → x

Identical to padleft but adds padding characters to the right side. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.8

See also: Extension:StringFunctions .

Localization[edit source]

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 Extension:Translate .

The usage of these magic words can be very complex, and the documentation is currently incomplete; there's some more info on PLURAL, GRAMMAR, GENDER.

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
{{plural:-1|is|are}} → is
{{plural:-2|is|are}} → are
{{plural:0.5|is|are}} → are
{{plural:1.5|is|are}} → are
{{plural:-0.5|is|are}} → are
{{plural:-1.5|is|are}} → are
(For Russian)
{{PLURAL:5|1=Категория|Категории}}  → Категории


{{PLURAL:3|страница|страницы|страниц}} → страницы
{{PLURAL:5|страница|страницы|страниц}} → страниц

Outputs the singular form (second parameter) if the absolute value of the first parameter is an expression equalling one; the plural form (third parameter) otherwise. Its functioning is language-dependent.
Some language codes (ab, av, ba, bxr, ce, crh_cyrl, cv, inh, koi, krc, kv, lbe, lez, mhr, mrj, myv, ru, tt_cyrl, tyv, udm, xal) used 3 plural forms (updated 01.2014):
  • Form 1: 1, 21, 31, 41, 51, 61, 71, 81, 101, 1001, …
  • Form 2: 0, 5, 6, 7, 8, …, 18, 19, 100, 1000, 10000, 100000, 1000000, …
  • Form 3: 2, 3, 4, 22, 23, 24, 32, 33, 34, 42, 43, 44, 52, 53, 54, 62, 102, 1002, …
{{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 $wgGrammarForms. <td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.7
{{gender:username|text for every gender}}

{{gender:Username|male text|female text|text for unspecified}}
{{gender:|male text|female text|text for unspecified}}
{{gender:.|male text|female text|text for unspecified}}

(Depends on the named user's gender) A switch for the gender set in Special:Preferences.

Note: The first example is basically a no-op
Note: If 3rd parameter is omitted and user hasn't defined their gender, then text if user is male is returned.
A blank username field ({{gender:|) means the current user, but can be used only in interface messages (MediaWiki namespace).
A dot username (.) means the default user gender on this wiki.

<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar">
<translate> ≥</translate> 1.15

r46247
{{int:message name}} {{int:edit}}Edit
(Depends on user language; try: frja)
Internationalizes (translates) the given interface (MediaWiki namespace) message into the user language. For msgnw and other transclusion magic words, see the Transclusion modifiers section.

Note that this can damage / confuse cache consistency in MediaWiki 1.17 and earlier, see T16404.

{{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[edit source]

{{Page name|optional params}} usually transcludes another page, by default from the Template:namespace. These magic words modify that behavior.

Miscellaneous[edit source]

  1. Citation on Magic words.