This template is used to detect the page type of a given page. It detectsredirect pages automatically and is highly customisable. It can be used on its own or as a meta-template to create other page-type-detection templates.
Syntax
Basic code
{{pagetype}}
Full code
{{pagetype| page = | defaultns = | main = | user = | wikipedia = | project = | wp = | file = | image = | mediawiki = | template = | help = | category = | portal = | timedtext = | module = | special = | media = | talk = | redirect = | dab = | na = | other = | plural = }}
Basic usage
For simple detection of the page type of the current page, use the default settings:
{{pagetype}}
That will produce the following results, depending on the page type or thenamespace:
Page type / namespace
Output
Redirects (in any namespace)
redirect
Main namespace
article
File namespace
file
Template namespace
template
Category namespace
category
Module namespace
module
Other namespaces
page
If the template is used on a talk page, it will detect the page type for the corresponding subject page.
Example
Code
Result
{{pagetype}}
template
Page parameter
You can use thepage parameter to make the template act as though it was called from that page.
{{pagetype|page=page name}}
Examples
Code
Result
{{pagetype|page=United Kingdom}}
article
{{pagetype|page=UK}}
redirect
{{pagetype|page=Talk:United Kingdom}}
article
{{pagetype|page=File:Example.svg}}
file
{{pagetype|page=Wikipedia:Namespace}}
page
{{pagetype|page=TimedText:MS_Sam.ogg.en.srt}}
page
Adding and removing namespaces
It is possible to specify different behaviour for each namespace than that described in thebasic usage section. For example, you might want the template to display "user page" for pages in the user namespace, instead of the default "page". To do this, you can use the code|user=yes. This looks up the typical name used for pages in the user namespace, in this case "user page", and uses that text when the template is used with a page in the user namespace. To use this with other namespaces, use the namespace name in lower case as a parameter:
{{pagetype| user =yes| wikipedia =yes| project =yes| wp =yes| mediawiki =yes| help =yes| portal =yes| timedtext =yes| special =yes| media =yes}}
You can use any of the following to specify the namespace: "yes", "y", "true" or "1". They can be used in any combination of upper and lower case. (These values are defined byModule:Yesno.)
The default text for these namespaces is as follows:
Page type / namespace
Output
User namespace
user page
Wikipedia namespace
project page
MediaWiki namespace
interface page
Help namespace
help page
Portal namespace
portal
Timed Text namespace
Timed Text page
Special namespace
special page
Media namespace
file
You can use a similar process to remove any of the default namespace values as well. For example, if you use the code|template=no, then the template will display "page" when used on a template page, rather than the default "template".
As well as adding and removing individual namespaces, it is possible to specify different sets of namespaces by using the|defaultns=. There are four different sets available:all,extended,none and the default set. These sets allow you to specify many namespaces at once, without having to use all of the individual namespace parameters. Namespaces are set according to the following table:
Normally, the template will treat talk pages as if they were in the corresponding subject namespace. However, if thetalk parameter is set, the template will treat talk pages separately from subject pages. Thetalk parameter sets values for all talk pages, i.e. pages in the Talk: namespace, pages in the User talk: namespace, pages in the Wikipedia talk: namespace, and so on.
By default, the template automatically detects redirects in all namespace. It is not possible to specify redirect behaviour by namespace, but you can turn redirect detection off, or use a custom value for redirect pages.
By default, the template usesModule:Disambiguation to detectdisambiguation pages in the main namespace. If you want, you can turn this detection off, or use a custom value for disambiguation pages.
{{pagetype|dab=no}}
{{pagetype|dab=custom text}}
Examples
Code
Result
{{pagetype|page=Mercury}}
page
{{pagetype|page=Mercury|dab=no}}
article
{{pagetype|page=Mercury|dab=custom text}}
custom text
Other namespaces
By default, the template produces "page" if used from a namespace that hasn't been specified. This value can be changed with the|other= parameter:
This template Identifies the type of a given page. It is highly customisable. By default it detects redirects, articles, files, templates, categories, and modules, and other types of page are displayed as "page".
Class is used to distinguish between different non-article pages in mainspace. 'disambig', 'disamb', 'dab', 'na' and 'n/a' give "page". The values can be customised with the "dab" and "na" parameters.
Suggested values
na
String
optional
Page name
page
The name of the page to detect the type of. Defaults to the current subject page, or to the current page if the "talk" parameter is activated.
Default
{{SUBST:PAGENAME}}
Page name
optional
Main namespace
main
When enabled, outputs "article" or custom text for the main namespace
Suggested values
yesno
Default
yes
Example
custom
String
optional
User namespace
user
When enabled, outputs "user page" or custom text for the User namespace
Suggested values
yesno
Default
no
Example
custom
String
optional
Wikipedia namespace
wikipediaprojectwp
When enabled, outputs "project page" or custom text for the Wikipedia namespace
Suggested values
yesno
Default
no
Example
custom
String
optional
File namespace
fileimage
When enabled, outputs "file" or custom text for the File namespace
Suggested values
yesno
Default
yes
Example
custom
String
optional
MediaWiki namespace
mediawiki
When enabled, outputs "interface page" or custom text for the MediaWiki namespace
Suggested values
yesno
Default
no
String
optional
Template namespace
template
When enabled, outputs "template" or custom text for the Template namespace
Suggested values
yesno
Default
yes
Example
custom
String
optional
Help namespace
help
When enabled, outputs "help page" or custom text for the Help namespace
Suggested values
yesno
Default
no
Example
custom
String
optional
Category namespace
category
When enabled, outputs "category" or custom text for the Category namespace
Suggested values
yesno
Default
yes
Example
custom
String
optional
Portal namespace
portal
When enabled, outputs "portal" or custom text for the Portal namespace
Suggested values
yesno
Default
no
Example
custom
String
optional
TimedText namespace
timedtext
When enabled, outputs "Timed Text page" or custom text for the TimedText namespace
Suggested values
yesno
Default
no
Example
custom
String
optional
Module namespace
module
When enabled, outputs "module" or custom text for the Module namespace
Suggested values
yesno
Default
yes
Example
custom
String
optional
Special namespace
special
When enabled, outputs "special page" or custom text for the Special namespace
Suggested values
yesno
Default
no
Example
custom
String
optional
Media namespace
media
When enabled, outputs "file" or custom text for the Media namespace
Suggested values
yesno
Default
no
Example
custom
String
optional
All talk namespaces
talk
When enabled, outputs "talk page" or custom text for all talk namespaces. When disabled, uses the subject page of the specified page
Suggested values
yesno
Default
no
Example
custom
String
optional
Redirect page value
redirect
When enabled, outputs "redirect" or custom text for redirects. When disabled, uses the destination
Suggested values
yesno
Default
yes
Example
custom
String
optional
Disambiguation page value
dab
When enabled, outputs "disambiguation page" or custom text for when the "Class" parameter has been set to "disambiguation", "disamb", or "dab"
Suggested values
yesno
Default
no
Example
custom
String
optional
N/A page value
na
When enabled, outputs "page" or custom text for pages in mainspace when the "Class" parameter has been set to "disambiguation", "disamb", or "dab"
Suggested values
yesno
Default
no
Example
custom
String
optional
Other namespaces
other
Outputs "page" or custom text for namespaces that have not been specified
Default
page
String
optional
Set of default namespaces
defaultns
This parameter is used to specify the set of namespaces used by default. By default the template detects page types in the main, File, Template, Category, and Module namespaces. If this parameter is set to "none", the template doesn't detect page types in any namespaces. If it is set to "extended", the template detects page types in the main, User, Wikipedia, File, MediaWiki, Template, Help, Category, Portal, and Module namespaces. If it is set to "all", the template detects page types in all namespaces, including talk pages. The namespaces set by this parameter can be overridden by the parameters for individual namespaces.
Suggested values
allextendednonedefault
Default
default
Line
optional
Pluralise output?
plural
Outputs a plural form (e.g. "articles" instead of "article").
Default
n
Boolean
optional
Capitalise output?
caps
Outputs a capital letter (e.g. "Article" instead of "article").