跳至內容

說明:魔術字

本頁使用了標題或全文手工轉換
維基教科書,自由的教學讀本
維基教科書使用手冊索引 · 關於 · 閱讀 · 編輯 · 管理 · 開發 · 附錄 · 元幫助(簡體 · 繁體
MediaWiki中的相關條目:

這是一個用於MediaWiki的魔術字索引。

魔術字是MediaWiki軟件所識別的特定字符串,它們可以返回特定的值或觸發其他的功能。

大致資訊

[編輯]

魔術字有如下三種:

  • 狀態開關:以兩個下劃線「__」為前後綴的大寫單詞。例如__FOO__
  • 變量:同模板類似,以「{{」開頭「}}」結尾,且所有字母大寫,如{{FOO}}
  • 解析器函數:這些形如{{foo:...}}或{{#foo:...}}的魔術字在使用時包含參數,且函數名稱對大小寫不敏感(包括可大小寫混用)。請同時參見Help:解析器函數

狀態開關

[編輯]

狀態開關可以控制頁面的顯示方式或其他行為。它往往用於排除或加入特定的頁面內容。

魔術字 描述 版本
目錄
__NOTOC__ 隱藏目錄。
__FORCETOC__ 強制於默認位置(第一個章節標題上方)顯示目錄。
__TOC__ 在魔術字的位置插入目錄(忽略__NOTOC__)。如果這個魔術字在一個頁面內被多次使用,目錄將會被放置在首個__TOC__出現的位置。
編輯
__NOEDITSECTION__ 隱藏章節標題旁的編輯鏈接。
__NEWSECTIONLINK__ 在非討論頁頂端「編輯頁面」標籤右側加入一個按鈕,用於在頁面結尾加入新的章節(參見MediaWiki上的說明)。 1.7+
__NONEWSECTIONLINK__ 移除討論頁頂端「編輯頁面」右側的加入新章節鏈接。 1.15+
分類
__NOGALLERY__ 用於分類頁面。不顯示分類中所包含檔案的縮略圖,而以普通鏈接代替。 1.7+
__HIDDENCAT__ 用於分類頁面。加入後此分類成為隱藏分類,將不會顯示在上級分類其及成員頁面的分類列表中(可以通過參數設置中的選項強制顯示),建議用{{hiddencat}}。 1.13+
字詞轉換
__NOCONTENTCONVERT__
__NOCC__
不對當前頁面進行字詞轉換。
__NOTITLECONVERT__
__NOTC__
不進行標題轉換,其他內容照常轉換。
其他
__START__ 沒有特殊效果。用於標識提交後不需要轉換的數據庫信息。功能已經移除。 r1695時功能移除,r24784時完全移除
__INDEX__ 允許搜索引擎檢索本頁(忽略$wgArticleRobotPolicies的設置,但無法忽略robots.txt)。 1.14+
__NOINDEX__ 阻止搜索引擎檢索本頁。 1.14+
__STATICREDIRECT__ 用於重定向頁。當有人移動頁面並勾選「更新所有指向原標題的重定向」時,禁止MediaWiki更新本頁的重定向。 1.13+
__DISAMBIG__ 用於消歧義頁,該頁會被標記為消歧義頁並顯示於Special:消歧義頁面,建議用{{Disambig}}。 使用消歧義插件

變量

[編輯]

變量可以返回關於當前頁面、wiki站點或日期的資訊。變量的語法與模板類似。其中標記為「[高開銷]」的變量會被軟件記錄,且在一個頁面中可使用的總數會被限制。

如果某一模板名與變量名重複,軟件會自動將其解釋為變量(因此若要包含Template:PAGENAME,頁面中需要寫作{{Template:PAGENAME}})。在某些情況下,加入參數會強制軟件將變量視作一個模板,如{{CURRENTDAYNAME|x}}將會包含Template:CURRENTDAYNAME

日期與時間

[編輯]

以下變量返回用戶所設置的時區日期或時間,默認為UTC時間。

在MediaWiki與瀏覽器緩存的影響下,這些變量顯示的往往是被緩存的值,而非當前的時間。

變量 輸出 描述 版本
{{CURRENTYEAR}} 2024
{{CURRENTMONTH}} 11 月(補足前導零)
{{CURRENTMONTHNAME}} 11月 月(本地語言中的月份名稱)
{{CURRENTMONTHNAMEGEN}} 11月 月(本地語言中月份名稱的屬格形式)
{{CURRENTMONTHABBREV}} 11月 月(本地語言中月份名稱的簡稱) 1.5+
{{CURRENTDAY}} 21 日(無前導零)
{{CURRENTDAY2}} 21 日(補足前導零) 1.6+
星期
{{CURRENTDOW}} 4 星期(數字格式)
{{CURRENTDAYNAME}} 星期四 星期
時間
{{CURRENTTIME}} 20:24 時間(24小時制,格式為HH:mm)
{{CURRENTHOUR}} 20 時間(24小時制,有前導零)
其他
{{CURRENTWEEK}} 47 周數
{{CURRENTTIMESTAMP}} 20241121202404 YYYYMMDDHHmmss時間戳 1.7+

如下變量和以上列出的變量功能相同,但是使用的是站點所在時區的本地時間,而非用戶所設置的時區或UTC:

  • {{LOCALYEAR}}
  • {{LOCALMONTH}}
  • {{LOCALMONTHNAME}}
  • {{LOCALMONTHNAMEGEN}}
  • {{LOCALMONTHABBREV}}
  • {{LOCALDAY}}
  • {{LOCALDAY2}}
  • {{LOCALDOW}}
  • {{LOCALDAYNAME}}
  • {{LOCALTIME}}
  • {{LOCALHOUR}}
  • {{LOCALWEEK}}
  • {{LOCALTIMESTAMP}}
對於更詳細的時間格式,請參見Help:時間序號

技術元數據

[編輯]

歷史版本變量返回的是與當前頁面最近一次編輯有關的數據。

變量 輸出 描述 版本
站點
{{SITENAME}} Wikibooks 站點名稱($wgSitename
{{SERVER}} //zh.wikibooks.org 域名URL$wgServer
{{SERVERNAME}} zh.wikibooks.org 域名名稱($wgServerName
{{DIRMARK}}
{{DIRECTIONMARK}}

輸出這個wiki默認語言所使用的Unicode文本方向控制字符(從左到右書寫的語言使用‎,反之使用‏ 1.7+
{{SCRIPTPATH}} /w 相對腳本路徑($wgScriptPath
{{CURRENTVERSION}} 1.44.0-wmf.4 (a8dd895) 當前所使用的MediaWiki版本 1.7+
{{CONTENTLANGUAGE}}
{{CONTENTLANG}}
zh
zh
默認的界面語言($wgLanguageCode 1.7+
當前頁面的最新編輯版本
{{REVISIONID}}
{{REVISIONID:頁面標題}}
-
 
最近一次編輯版本的ID
[高開銷]指定頁面最近修訂版本的ID
1.5+
1.16+
{{REVISIONDAY}}
{{REVISIONDAY:頁面標題}}
11
 
最近一次編輯的日份
[高開銷]指定頁面最近一次編輯的日份
1.8+
1.16+
{{REVISIONDAY2}}
{{REVISIONDAY2:頁面標題}}
11
 
最近一次編輯的日份(前導零)
[高開銷] 指定頁面最近一次編輯的日份
1.8+
1.16+
{{REVISIONMONTH}}
{{REVISIONMONTH:頁面標題}}
02
 
最近一次編輯的月份
[高開銷] 指定頁面最近一次編輯的月份
1.8+
1.16+
{{REVISIONYEAR}}
{{REVISIONYEAR:頁面標題}}
2018
 
最近一次編輯的年份
[高開銷]指定頁面最近一次編輯的年份
1.8+
1.16+
{{REVISIONTIMESTAMP}}
{{REVISIONTIMESTAMP:頁面標題}}
20180211045849
 
最近一次編輯的時間戳
[高開銷]最近修訂版本的時間戳
1.8+
1.16+
{{REVISIONUSER}}
{{REVISIONUSER:頁面標題}}
Fanjiayi
 
最近一個對本頁面作出編輯的用戶
[高開銷] 最近一個對指定頁面作出編輯的用戶
在編輯提示里顯示即將編輯的用戶,見[1]
1.15+
1.16+
{{PAGESIZE:頁面標題}}
{{PAGESIZE:Help:魔術字}}

0
[高開銷]返回指定頁面的大小 1.13+
{{PROTECTIONLEVEL:行為}} 保護級別 輸出當前頁面對於特定行為(create,edit或move)的保護級別(autoconfirm或sysop等)。若未保護則返回空字符串。 1.15+
影響頁面內容
{{DISPLAYTITLE:標題}} 更改頁面的標題,與-{T|}-類似,不推薦使用。可以通過$wgAllowDisplayTitle將其啟用或禁用。在1.10+前默認禁用,之後的版本中默認啟用。 1.7+
{{DEFAULTSORT:排序索引}}
{{DEFAULTSORTKEY:排序索引}}
{{DEFAULTCATEGORYSORT:排序索引}}
為頁面設置一個默認的排序索引。例如在吉米·威爾士條目的結尾加入{{DEFAULTSORT:Wales, Jimmy}},則默認此條目在所有分類中都會排在「W」下,而非「吉」。 1.10+

統計

[編輯]

這些變量返回的數字往往包含分隔符(根據本地語言設置而可能是逗號或空格)。可以通過「:R」來返回無分隔號的數字(例如{{NUMBEROFPAGES}}→19,231而{{NUMBEROFPAGES:R}}→19231))。對於PAGESINCATEGORY等需要參數的變量則使用「|R」(例如{{PAGESINCATEGORY:Help}}{{PAGESINCATEGORY:Help|R}})。

變量 輸出 描述 版本
整個站點
{{NUMBEROFPAGES}} 19,231 頁面總數 1.7+
{{NUMBEROFARTICLES}} 3,718 主命名空間內的頁面總數
{{NUMBEROFFILES}} 102 上傳的文件總數 1.5+
{{NUMBEROFEDITS}} 178,759 總頁面編輯次數 1.10+
{{NUMBEROFVIEWS}} 頁面瀏覽次數。通常對使用緩存的wiki無效。 1.14~1.24
{{NUMBEROFUSERS}} 66,168 註冊用戶總數 1.7+
{{NUMBEROFADMINS}} 8 sysop用戶組中的用戶總數 1.7+
{{NUMBEROFACTIVEUSERS}} 37 活躍用戶總數,其標準與Special:Statistics中的標準相同 1.15+
{{PAGESINCATEGORY:分類標題}}
{{PAGESINCAT:帮助文档}}

4
[高開銷]指定分類中的頁面總數。 1.13+

{{PAGESINCATEGORY:帮助文档|all}}
{{PAGESINCATEGORY:帮助文档|pages}}
{{PAGESINCATEGORY:帮助文档|subcats}}
{{PAGESINCATEGORY:帮助文档|files}}

4
4
0
0

[高開銷]返回指定分類的:
  • 所有頁面數
  • 所有非分類頁和非文件頁數
  • 所有子分類頁數
  • 所有文件頁數
1.20+
{{NUMBERINGROUP:用戶群組}}
{{NUMINGROUP:用戶群組}}
{{NUMBERINGROUP:bureaucrat}}→
0
特定用戶群組中的用戶總數 1.14+
{{PAGESINNS:索引編號}}
{{PAGESINNAMESPACE:索引編號}}
禁用 指定命名空間中的頁面總數。例如{{PAGESINNAMESPACE:14}}返回分類總數。在中文維基百科被禁用。 1.7+

頁面標題

[編輯]
變量 輸出 描述 版本
{{FULLPAGENAME}} Help:魔術字 命名空間及頁面標題 1.6+
{{PAGENAME}} 魔術字 頁面標題
{{BASEPAGENAME}} 魔術字 頁面標題,不包括當前子頁面標題及命名空間(頁面「Wikipedia:頁面/子頁面」則返回「頁面」) 1.7+
{{SUBPAGENAME}} 魔術字 子頁面標題(頁面「Wikipedia:頁面/子頁面」則返回「子頁面」) 1.6+
{{SUBJECTPAGENAME}} Help:魔術字 當前頁面對應的內容頁標題(包含命名空間) 1.7+
{{TALKPAGENAME}} Help talk:魔術字 當前頁面對應的討論頁標題(包含命名空間) 1.7+

魔術字{{BASEPAGENAME}}{{SUBPAGENAME}}僅在允許子頁面出現的命名空間中有效。參見mw:Manual:$wgNamespacesWithSubpages

以下類似的魔術字返回URL編碼結果:

  • {{FULLPAGENAMEE}}
  • {{PAGENAMEE}}
  • {{BASEPAGENAMEE}}
  • {{SUBPAGENAMEE}}
  • {{SUBJECTPAGENAMEE}}
  • {{TALKPAGENAMEE}}

1.15+版本中,這些魔術字均可通過參數來指明特定頁面:

  • {{PAGENAME:Template:Main Page}}Main Page

命名空間

[編輯]
變量 輸出 描述 版本
{{NAMESPACE}} Help 命名空間
{{SUBJECTSPACE}}
{{ARTICLESPACE}}
Help
Help
當前頁面對應的內容頁面命名空間 1.7+
{{TALKSPACE}} Help talk 當前頁面對應的討論頁命名空間 1.7+

以下類似的魔術字返回URL編碼結果:

  • {{NAMESPACEE}}
  • {{SUBJECTSPACEE}}
  • {{TALKSPACEE}}

1.15+版本中,這些魔術字均可通過參數來指明特定頁面:

  • {{NAMESPACE:Template:Main Page}}Template

其他

[編輯]
變量 輸出 描述 版本
{{!}} | 在參數中代替| 1.24+

解析器函數

[編輯]

解析器函數與變量十分類似,但是有一個或多個參數(技術上來看,所有使用參數的魔術字均為解析器函數),且魔術字的名稱前往往會有一個#號,以將它們與一般的模版區分開來。

這一頁僅列出了整合在MediaWiki軟件中的解析器函數。其他擴展(例如ParserFunctions extension)可能為MediaWiki加入更多的解析器函數。請參見Help:解析器函數了解更多的解析器函數。

URL數據

[編輯]
魔術字 輸入 → 輸出 描述 版本
{{localurl:頁面標題}}
{{localurl:頁面標題|字符串}}
/wiki/%E9%A1%B5%E9%9D%A2%E6%A0%87%E9%A2%98
/w/index.php?title=%E9%A1%B5%E9%9D%A2%E6%A0%87%E9%A2%98&字符串
指定標題的相對路徑
{{fullurl:頁面標題}}
{{fullurl:頁面標題|字符串}}
{{fullurl:跨維基鏈接:頁面標題|字符串}}
{{fullurl:Category:帮助文档}} →
//zh.wikibooks.org/wiki/Category:%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3

{{fullurl:Category:帮助文档|action=edit}} →
//zh.wikibooks.org/w/index.php?title=Category:%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3&action=edit
{{fullurl:en:Category:Help|action=edit}} →
https://en.wikibooks.org/wiki/Category:Help?action=edit

指定標題的絕對路徑,同時處理跨維基前綴。 1.5+
{{filepath:文件名}}
{{filepath:文件名|nowiki}}
{{filepath:Wiki.png}} →
//upload.wikimedia.org/wikibooks/zh/b/bc/Wiki.png
{{filepath:Wiki.png|nowiki}} →
//upload.wikimedia.org/wikibooks/zh/b/bc/Wiki.png
指定多媒體文件的絕對路徑 1.12+
{{urlencode:字符串}} {{urlencode:x y z 一二三}} →
x+y+z+%E4%B8%80%E4%BA%8C%E4%B8%89
將字符串以百分號編碼以供URL使用。 1.7+
{{anchorencode:字符串}} {{anchorencode:x y z一二三}} →
x_y_z一二三
將字符串編碼以供URL錨點(URL中#號後面的部分)使用。 1.8+

命名空間

[編輯]

{{ns:}}返回指定索引編號所對應命名空間的本地名稱。

內容頁面名字空間 討論頁名字空間
用法 輸出 用法 輸出
{{ns:-2}}{{ns:Media}} Media {{ns:-1}}{{ns:Special}} Special
{{ns:0}} {{ns:1}}{{ns:Talk}} Talk
{{ns:2}}{{ns:User}} User {{ns:3}}{{ns:User talk}} User talk
{{ns:4}}{{ns:Project}} Wikibooks {{ns:5}}{{ns:Project talk}} Wikibooks talk
{{ns:6}}{{ns:File}}{{ns:Image}} File {{ns:7}}{{ns:File talk}}{{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
{{ns:100}}{{ns:Transwiki}} Transwiki {{ns:101}}{{ns:Portal talk}} Transwiki talk
{{ns:118}}{{ns:Draft}} {{ns:119}}{{ns:Draft talk}}
{{ns:828}}{{ns:Module}} Module {{ns:829}}{{ns:Module talk}} Module talk
{{ns:2600}}{{ns:Topic}}

格式

[編輯]
用法 輸入 → 輸出 描述 版本
{{lc:字符串}} {{lc:DATA CENTER}} → data center 轉換為小寫字母輸出 1.5+
{{lcfirst:字符串}} {{lcfirst:DATA CENTER}} → dATA CENTER 字符串的第一個字符轉換為小寫字母 1.5+
{{uc:字符串}} {{uc:text transform}} → TEXT TRANSFORM 轉換為大寫字母輸出 1.5+
{{ucfirst:字符串}} {{ucfirst:text transform}} → Text transform 字符串的第一個字符轉換為大寫字母 1.5+
{{formatnum:無格式數字}}
{{formatnum:格式化的數字|R}}
{{formatnum:-987654321.654321}} → −987,654,321.654321
{{formatnum:-987,654,321.654321|R}} → -987654321.654321
根據本地語言的設置處理空格和逗號等數字分隔符。 1.7+
1.13+

{{#dateformat:日期}} {{#formatdate:日期}} {{#dateformat:日期|格式}} {{#formatdate:日期|格式}}

{{#dateformat:11 seP 2001|ymd}}
→ 11 seP 2001(您的設置),2001 SeP 11(默認)
{{#formatdate:sep 11,2001|dmy}}
→ sep 11,2001(您的設置),11 Sep 2001(默認)
{{#dateformat:1941-12-07|mdy}}
12月 7, 1941(您的設置),12月 7, 1941(默認)
{{#formatdate:2001 sep 11|ISO 8601}}
→ 2001 sep 11(您的設置)2001 sep 11(默認)

將日期顯示為用戶在「日期與時間」中所指定的格式。對於未登錄或是未進行設置的用戶,可以通過參數指定默認格式:mdy, dmy, ymd, ISO 8601(區分大小寫)。如果未指定格式或格式無效,則輸入格式會被作為默認格式。如果輸入的日期無效,則直接輸出未處理的結果。

解析器函數time提供了更多的格式化控制。

1.15+
{{padleft:xyz|字符串長度}}
{{padleft:xyz|字符串長度|字符}}
{{padleft:xyz|5}} → 00xyz
{{padleft:xyz|5|_}} → __xyz
自動在字符串開頭用給定的字符(默認為「0」)補足到特定長度。例如{{padleft:44|3|0}}生成044。也用於截取字符串的一部分。 1.8+
{{padright:xyz|字符串長度}}
{{padright:xyz|字符串長度|字符}}
{{padright:xyz|5}} → xyz00
{{padright:xyz|5|_}} → xyz__
與padleft類似,但將字符加入到字符串的結尾。也用於截取字符串的一部分。
{{plural:计数|單數形式|複數形式}} {{plural:1|他|他們}} → 他 根據首個參數,輸出特定詞語的單數或複數形式(根據中文)。

雜項

[編輯]

參見

[編輯]