![PD](//upload.wikimedia.org/wikipedia/commons/thumb/6/62/PD-icon.svg/30px-PD-icon.svg.png) |
Note:
When you edit this page, you agree to release your contribution under the
CC0
. See
Public Domain Help Pages
for more info.
|
![PD](//upload.wikimedia.org/wikipedia/commons/thumb/6/62/PD-icon.svg/30px-PD-icon.svg.png) |
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
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__
). This will not work in skins that present table of contents outside the article content e.g.
Vector 2022 skin
.
|
|
|
__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. This will not work in skins that present table of contents outside the article content e.g.
Vector 2022 skin
.
|
|
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.
A workaround is possible
.
|
|
|
__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
).
|
|
|
__NONEWSECTIONLINK__
|
Removes the link beside the "Edit" tab on pages in talk namespaces.
|
|
Categories
|
|
__NOGALLERY__
|
Used on a category page, replaces thumbnails in the category view with normal links.
|
|
|
__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).
|
|
|
__EXPECTUNUSEDCATEGORY__
|
Used on a category page, removes the category from
Special:UnusedCategories
.
|
|
Language conversion
|
|
__NOCONTENTCONVERT__
__NOCC__
|
On wikis with language variants, don't perform any content language conversion 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
.
|
|
|
__END__
|
Explicitly marks the end of the article, to prevent MediaWiki from removing trailing whitespace.
Removed in
19213
.
|
|
|
__INDEX__
|
Tell search engines to index the page (overrides
$wgArticleRobotPolicies
but not robots.txt). It obeys
$wgExemptFromUserRobotsControl
variable.
|
|
|
__NOINDEX__
|
Tell search engines not to index the page (i.e. do not list in search engines' results). It obeys
$wgExemptFromUserRobotsControl
variable.
|
|
|
__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
).
|
|
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.
|
|
|
Disambiguator
|
__DISAMBIG__
|
Identifies a disambiguation page.
|
|
|
Wikibase
(client)
|
__EXPECTED_UNCONNECTED_PAGE__
|
Some wiki pages do not fit the scope of Wikidata items, such as discussion archives, template subpages, etc. To prevent a wiki page from being listed in Special:UnconnectedPages, use this magic word anywhere on the page. Pages that don't meet
Wikidata's notability criteria
should not receive a Wikidata item.
|
|
DiscussionTools
|
__ARCHIVEDTALK__
|
Hides "reply" links from discussions on archived pages.
|
|
__NOTALK__
|
Makes a page in a talk namespace not be treated like a talk page.
|
|
ProofreadPage
|
__EXPECTWITHOUTSCANS__
|
Some wikisource content pages consist of lists (such as a list of editions or translations of the same work) and therefore did not have scans. To prevent these pages from being listed in Special:PagesWithoutScans, insert this magic word into the page.
|
|
Wikibase
(client)
|
{{NOEXTERNALLANGLINKS}}
|
A magic word and a parser function which when invoked, will disable the Wikibase extension for a specific page, or used with parameters
can suppress specific interlanguage links
produced by the extension. When active, only interlanguage links present in the wikitext are used.
|
|
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 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}}
|
2024
|
Year
|
|
Month
|
|
{{CURRENTMONTH}}
{{CURRENTMONTH2}}
|
06
|
Month (zero-padded number)
|
|
{{CURRENTMONTH1}}
|
6
|
Month (unpadded number)
|
|
{{CURRENTMONTHNAME}}
|
June
|
Month (name)
|
|
{{CURRENTMONTHNAMEGEN}}
|
June
|
Month (
genitive form
)
|
|
{{CURRENTMONTHABBREV}}
|
Jun
|
Month (abbreviation)
|
|
Day
|
|
{{CURRENTDAY}}
|
16
|
Day of the month (unpadded number)
|
|
{{CURRENTDAY2}}
|
16
|
Day of the month (zero-padded number)
|
|
{{CURRENTDOW}}
|
0
|
Day of the week (unpadded number), 0 (for Sunday) through 6 (for Saturday)
|
|
{{CURRENTDAYNAME}}
|
Sunday
|
Day of the week (name)
|
|
Time
|
|
{{CURRENTTIME}}
|
04:12
|
Time (24-hour HH:mm format)
|
|
{{CURRENTHOUR}}
|
04
|
Hour (24-hour zero-padded number)
|
|
Other
|
|
{{CURRENTWEEK}}
|
24
|
Week (number)
|
|
{{CURRENTTIMESTAMP}}
|
20240616041235
|
YYYYMMDDHHmmss timestamp
|
|
The following variables do the same as the preceding ones but using the site's server config or
$wgLocaltimezone
.
{{LOCALYEAR}}
{{LOCALMONTH}}
{{LOCALMONTH1}}
{{LOCALMONTH2}}
{{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
Variable
|
Output
|
Description
|
Versions
|
|
Site
|
|
{{SITENAME}}
|
MediaWiki
|
The wiki's site name (
$wgSitename
).
|
|
|
{{SERVER}}
|
//www.mediawiki.org
|
Domain
URL
(
$wgServer
).
|
|
|
{{SERVERNAME}}
|
www.mediawiki.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 (
‎
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
.
|
|
|
{{ARTICLEPATH}}
|
/wiki/$1
|
Relative article path (
$wgArticlePath
).
|
|
|
{{SCRIPTPATH}}
|
/w
|
Relative script path (
$wgScriptPath
).
|
|
|
{{STYLEPATH}}
|
/w/skins
|
Relative style path (
$wgStylePath
).
|
|
|
{{CURRENTVERSION}}
|
1.43.0-wmf.9 (52a3d57)
|
The wiki's MediaWiki version.
|
|
|
{{CONTENTLANGUAGE}}
{{CONTENTLANG}}
|
en
en
|
The wiki's default interface language (
$wgLanguageCode
).
|
|
Page
|
|
{{PAGEID}}
|
1748
|
Returns the
page identifier (page ID)
.
|
|
|
{{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
:...}}
.
|
|
{{TRANSLATABLEPAGE}}
|
Help:Magic words
|
Returns the title of the translation page (the page other languages are translated from) if a page is translatable (including translated pages), and nothing if the page is not translatable.
|
|
<
translate
>
<!--T:1-->
Translated unit. Language:
<
tvar
name
=
lang
>
{{TRANSLATIONLANGUAGE}}
</
tvar
>
.
</
translate
>
<
translate
>
<!--T:2-->
Untranslated unit. Language:
<
tvar
name
=
lang
>
{{TRANSLATIONLANGUAGE}}
</
tvar
>
.
</
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
.
|
|
{{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.
|
|
{{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.
|
|
{{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.
|
|
Viewed revision of current page (latest revision or selected older revision)
|
|
{{REVISIONID}}
|
-
|
Unique revision ID. It is always empty in preview, thus one can show an error message only in preview. May be disabled in
miser mode (all WMF wikis)
returning
-
instead when not in preview.
|
|
{{REVISIONDAY}}
|
24
|
Day edit was made (unpadded number).
|
|
{{REVISIONDAY2}}
|
24
|
Day edit was made (zero-padded number).
|
|
{{REVISIONMONTH}}
|
05
|
Month edit was made (zero-padded number as of
1.17+
, unpadded number in prior versions).
|
|
{{REVISIONMONTH1}}
|
5
|
Month edit was made (unpadded number).
|
|
{{REVISIONYEAR}}
|
2024
|
Year edit was made.
|
|
{{REVISIONTIMESTAMP}}
|
20240524133700
|
Timestamp as of time of edit.
|
|
{{REVISIONUSER}}
|
Shirayuki
|
The username of the user who made the edit in question, or the user previewing an edit.
|
|
{{REVISIONSIZE}}
|
101978
|
The size (bytes of wikitext) of the viewed revision of the page or preview
|
|
Affects page content
|
|
{{DISPLAYTITLE:
title
}}
{{DISPLAYTITLE:
title
|noerror}}
{{DISPLAYTITLE:
title
|noreplace}}
|
|
Format the
display title
of the current page, which is what is typically shown in a page's title header. Unless
$wgRestrictDisplayTitle
is set to
false
, 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. It can be disabled or enabled by
$wgAllowDisplayTitle
.
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.
|
(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.
|
(for noerror and noreplace)
|
Statistics
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}}
→ 1,676,862 and
{{NUMBEROFPAGES:R}}
→ 1676862).
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,676,862
|
Number of wiki pages.
|
|
|
{{NUMBEROFARTICLES}}
|
62,172
|
Number of pages in
content namespaces
that qualify as articles. See
Manual:$wgArticleCountMethod
for details.
|
|
|
{{NUMBEROFFILES}}
|
2,787
|
Number of uploaded files.
|
|
|
{{NUMBEROFEDITS}}
|
6,472,900
|
Number of wiki edits.
|
|
|
{{NUMBEROFVIEWS}}
|
|
Number of page views. Usually useless on a wiki using
caching
. Removed in
Gerrit change 150699
.
|
|
|
{{NUMBEROFUSERS}}
|
17,951,971
|
Number of registered users.
|
|
|
{{NUMBEROFADMINS}}
|
133
|
Number of users in the
sysop
group
.
|
|
|
{{NUMBEROFACTIVEUSERS}}
|
920
|
Number of active users, based on the criteria used in
Special:Statistics
.
|
|
|
{{PAGESINCATEGORY:
categoryname
}}
{{PAGESINCAT:
categoryname
}}
|
148
148
|
[Expensive]
Number of pages (including subcategories and files) in the given
category
.
(
Category:Help
used for demonstration)
|
|
{{PAGESINCATEGORY:
categoryname
|all}}
{{PAGESINCATEGORY:
categoryname
|pages}}
{{PAGESINCATEGORY:
categoryname
|subcats}}
{{PAGESINCATEGORY:
categoryname
|files}}
|
148
145
3
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)
|
|
|
{{NUMBERINGROUP:
groupname
}}
{{NUMINGROUP:
groupname
}}
|
21
21
|
Number of users in a specific
group
.
(bureaucrat used for demonstration)
|
|
|
{{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
.
|
|
Page names
Variable
|
For current page
|
Description
|
Versions
|
|
{{FULLPAGENAME}}
|
Help:Magic words
|
Namespace and full page title (including all subpage levels).
|
|
|
{{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
.
|
|
|
{{ROOTPAGENAME}}
|
Magic words
|
Name of the root of the current page. Would return
Title
on page
Help:Title/Foo/Bar
.
|
|
|
{{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
.
|
|
|
{{SUBJECTPAGENAME}}
{{ARTICLEPAGENAME}}
|
Help:Magic words
Help:Magic words
|
Full page name of the associated subject (e.g. article or file). Useful on talk pages.
|
|
|
{{TALKPAGENAME}}
|
Help talk:Magic words
|
Full page name of the associated talk page.
|
|
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
Warning:
| If the page title contains any parts that are "
.
" or "
..
", the magic word returns nothing.
{{PAGENAME:one/./three}}
→
Nothing is returned.
|
Warning:
| 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
T16779
,
T18474
,
T37628
,
T37746
. One simple way to fix this is wrapping the pagename in
{{
#titleparts:
}}
from the
ParserFunctions extension
.
|
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}}
{{ROOTPAGENAMEE}}
Note that
{{PAGENAME:...}}
,
{{PAGENAMEE:...}}
and
{{urlencode:...}}
have distinct implementations.
See
Manual:PAGENAMEE encoding
for details.
Namespaces
Variable
|
Output
|
Description
|
Versions
|
{{NAMESPACE}}
|
Help
|
Name of the page's namespace (except for main space)
|
|
{{NAMESPACENUMBER}}
|
12
|
ID
of the page's namespace
|
|
{{SUBJECTSPACE}}
{{ARTICLESPACE}}
|
Help
Help
|
Name of the associated content namespace
|
|
{{TALKSPACE}}
|
Help talk
|
Name of the associated talk namespace
|
|
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
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
Extension:ParserFunctions
. For those see
Help:Extension:ParserFunctions
.
Technical metadata of another page
Parser function
|
Output
(for page
MediaWiki
)
|
Description
|
Versions
|
|
{{PAGEID:
page name
}}
|
1
|
[Expensive]
Returns the page identifier of the specified page*.
|
|
|
{{PAGESIZE:
page name
}}
{{PAGESIZE:
page name
|R}}
|
101,978
101978
|
[Expensive]
Returns the byte size of the specified page. Use "
|R
" to get raw (unformatted) numbers.
|
|
|
{{PROTECTIONLEVEL:
action
|
page name
}}
|
sysop
|
[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.
|
|
|
{{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.
|
|
|
{{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.
|
|
|
{{REVISIONID:
page name
}}
|
6287429
|
[Expensive]
Unique revision ID of the last revision on the specified page*.
|
|
|
{{REVISIONDAY:
page name
}}
|
29
|
[Expensive]
Day of edit from the last revision of the specified page* (unpadded number).
|
|
|
{{REVISIONDAY2:
page name
}}
|
29
|
[Expensive]
Day of edit from the last revision of the specified page* (zero-padded number).
|
|
|
{{REVISIONMONTH:
page name
}}
|
12
|
[Expensive]
Month of edit from the last revision of the specified page* (zero-padded number as of
1.17+
, unpadded number in prior versions).
|
|
|
{{REVISIONMONTH1:
page name
}}
|
12
|
[Expensive]
Month of edit from the last revision of the specified page* (unpadded number).
|
|
|
{{REVISIONYEAR:
page name
}}
|
2023
|
[Expensive]
Year of edit from the last revision of the specified page*.
|
|
|
{{REVISIONTIMESTAMP:
page name
}}
|
20231229181425
|
[Expensive]
Timestamp as of time of edit on the specified page*.
|
|
|
{{REVISIONUSER:
page name
}}
|
Tropicalkitty
|
[Expensive]
The username from the last revision on the specified page*.
|
|
*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
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}}
→ //www.mediawiki.org/wiki/Category:Top_level
{{fullurl:Category:Top level|action=edit}}
→ //www.mediawiki.org/w/index.php?title=Category:Top_level&action=edit
{{fullurl:s:Electra|action=edit}}
→
https://en.wikisource.org/wiki/Electra?action=edit
{{fullurl:s:es:Electra|action=edit}}
→
https://en.wikisource.org/wiki/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.
|
|
|
{{canonicalurl:
page name
}}
{{canonicalurl:
page name
|
query_string
}}
{{canonicalurl:
interwiki:remote page name
|
query_string
}}
|
{{canonicalurl:Category:Top level}}
→
https://www.mediawiki.org/wiki/Category:Top_level
{{canonicalurl:Category:Top level|action=edit}}
→
https://www.mediawiki.org/w/index.php?title=Category:Top_level&action=edit
{{canonicalurl:w:Category:Top level|action=edit}}
→
https://en.wikipedia.org/wiki/Category:Top_level?action=edit
|
The absolute path to the title, using the canonical URL. This will also resolve
interwiki
prefixes.
|
|
|
{{filepath:
file name
}}
{{filepath:
file name
|nowiki}}
{{filepath:
file name
|
thumbnail_size
}}
|
{{filepath:Wiki.png}}
→ //upload.wikimedia.org/wikipedia/mediawiki/b/bc/Wiki.png
{{filepath:Wiki.png|nowiki}}
→ //upload.wikimedia.org/wikipedia/mediawiki/b/bc/Wiki.png
{{filepath:Example.svg|300}}
→ //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.
|
|
|
{{urlencode:
string
}}
or
{{urlencode:
string
|QUERY}}
{{urlencode:
string
|WIKI}}
{{urlencode:
string
|PATH}}
|
{{urlencode:x:y/z a e}}
or
{{urlencode:x:y/z a e|QUERY}}
→ x%3Ay%2Fz+%C3%A1+%C3%A9
{{urlencode:x:y/z a e|WIKI}}
→ x:y/z_%C3%A1_%C3%A9
{{urlencode:x:y/z a e|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
code
| space
|
---|
none
| ?+?
| QUERY
| ?+?
| ?WIKI
| ?_?
| ?PATH
| %20
|
|
(or
)
|
|
{{anchorencode:
string
}}
|
{{anchorencode:x y z a e}}
→ x_y_z_a_e
|
The input encoded for use in URL section anchors (after the “#” symbol in a URL).
|
|
The following are equivalents encoded for use in MediaWiki URLs (some characters percent-encoded):
{{localurle:
page name
}}
{{localurle:
page name
|
query_string
}}
{{fullurle:
page name
}}
{{fullurle:
page name
|
query_string
}}
{{fullurle:
interwiki:remote page name
|
query_string
}}
{{canonicalurle:
page name
}}
{{canonicalurle:
page name
|
query_string
}}
{{canonicalurle:
interwiki:remote page name
|
query_string
}}
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.
The main namespace has no name, i.e.
{{ns:0}}
returns an empty string.
For explicitly referring to the main namespace,
{{int:
Blanknamespace
}}
can be used, resulting in "(Main)".
{{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}}
|
Project
Varies between wikis
|
{{ns:5}}
/
{{ns:Project talk}}
|
Project 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
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 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 page language.
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.
Warning:
| Leading zeroes are not removed, you can use {{#expr:00001}} instead if you have
Extension:ParserFunctions
installed.
|
Warning:
| If you don't input numbers in the exact format required, don't expect any reliable output, especially on non-English wikis.
|
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.
|
|
|
{{#dateformat:
date
}}
{{#formatdate:
date
}}
{{#dateformat:
date
|
format
}}
{{#formatdate:
date
|
format
}}
|
{{#dateformat:25 dec 2009|ymd}}
→
2009 December 25
(your pref), 2009 December 25 (default)
{{#formatdate:dec 25,2009|dmy}}
→
25 December 2009
(your pref), 25 December 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.
Warning:
| 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).
|
|
|
|
{{lc:
string
}}
|
{{lc:DATA CENTER}}
→ data center
|
The lowercase input.
|
|
|
{{lcfirst:
string
}}
|
{{lcfirst:DATA center}}
→ dATA center
|
The input with the
very first
character lowercase.
|
|
|
{{uc:
string
}}
|
{{uc:text transform}}
→ TEXT TRANSFORM
|
The uppercase input.
|
|
|
{{ucfirst:
string
}}
|
{{ucfirst:text tRAnSFORM}}
→ Text tRAnSFORM
|
The input with the
very first
character uppercase.
|
|
|
{{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.
|
|
|
{{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.
|
|
|
{{bidi:
string
}}
|
{{bidi:text transform}}
→ ?text transform?
{{bidi:????? ?????}}
→ ?????? ??????
|
Wraps the text in a script-appropriate directionality marker (either left-to-right (U+202A) or right-to-left (U+202B)) and a pop directionality formatting character (U+202C), to ensure directionality safety when using a mix of scripts in running text.
|
|
See also:
Extension:StringFunctions
.
Localization
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, sl, 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
.
|
|
|
{{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.
|
|
|
{{int:
message name
}}
|
{{int:edit}}
→
Edit
(Depends on user language; try:
fr
?
ja
)
|
Internationalizes (translates) the given
int
erface (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
{{
Page name
|
optional params
}}
usually transcludes another page, by default from the Template:namespace.
These magic words modify that behavior.
Usage
|
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
MediaWiki:xyz
doesn't exist. See also
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.
|
|
|
{{msgnw:xyz}}
|
The unexpanded wikitext is rendered (more or less, for details see
Help:Templates
).
|
|
|
{{subst:xyz}}
|
In the wikitext, the tag is substituted by the
content
(single-level evaluation only), see
Help:Templates
.
|
|
|
{{safesubst:xyz}}
|
See
Help:Templates
.
|
|
Miscellaneous
Usage
|
Input → Output
|
Description
|
Version
|
|
{{#language:
language code
}}
{{#language:
language code
|
target language code
}}
|
{{#language:ar}}
→ ???????
{{#language:ar|en}}
→ 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.
Extension:CLDR
must be installed for the translation to work.
|
(translation)
|
|
{{#special:
special page name
}}
|
{{#special:userlogin}}
→ Special:UserLogin
|
The localized name for the given canonical Special: page.
|
|
|
{{#speciale:
special page name
}}
|
{{#speciale:userlogin}}
→ Special:UserLogin
|
The localized and URL-encoded name for the given canonical Special: page.
|
|
|
{{#tag:
tagname
|
content
|
attribute1
=
value1
|
attribute2
=
value2
}}
|
Example for the
Cite extension
's
?<
ref
>
tags:
{{#tag:ref|Citation on Magic words. |name = "multiple"}}
→
[1]
|
Alias for XML-style MediaWiki parser tags or extension tags. It allows a
pre-save transform of wiki code
and
Extension:ParserFunctions
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:
?<
tagname
attribute1
=
"
value1
"
attribute2
=
"
value2
"
>
Your content goes here
?</
tagname
>
…can be rewritten like this:
{{#tag:
tagname
|
Your content goes here
|
attribute1
=
value1
|
attribute2
=
value2
}}
Warning:
| You must write
{{#tag:
tagname
||
attribute1
=
value1
|
attribute2
=
value2
}}
to pass an empty content. No leading or trailing space of the text content are permitted between the pipe characters
||
before
attribute1
.
|
|
|
See also