This template is used in system messages, and on approximately 351,000 pages, or roughly 1% of all pages. Changes to it can cause immediate changes to the Wikipedia user interface. To avoid major disruption and server load, any changes should be tested in the template's /sandbox or /testcases subpages, or in your own user subpage. The tested changes can be added to this page in a single edit. Please discuss changes on the talk page before implementing them. |
This template uses Lua: |
This is a very flexible user link template, which allows you to specify which links are shown beside the username. It can be used as a meta-template to support other user link templates, or it can be used alone.
Usage
Standalone usage
{{user-multi|code 1|code 2|code 3|...|user=username|project=project|lang=lang}}
Usage in templates
{{<includeonly>safesubst:</includeonly>User-multi<noinclude>/template</noinclude> | User = {{{1|{{{User|{{{user|}}}}}}}}} | Project = {{{2|{{{Project|{{{project|}}}}}}}}} | Lang = {{{3|{{{Lang|{{{lang|}}}}}}}}} | separator = {{{separator|dot}}} | small = <!-- yes --> | sup = <!-- yes --> | span = <!-- no --> | 1 = <!-- link code 1 --> | 2 = <!-- link code 2 --> | 3 = <!-- link code 3 --> ... | demo = {{{demo|}}} | doc = <!-- yes --> }}
The doc parameter is used to provide automatic documentation on the template page, i.e. |doc=yes
.
Parameters
- 1, 2, 3, ... n: these parameters specify what links to display in the template. See the code table below for valid input codes.
- User or user: the username. An error is returned if this is omitted.
- Project or project: the interwiki prefix for the project you wish to link to. Please see Help:Interwiki linking for a list of valid codes. For backwards compatibility, a language code can also be entered in this field.
- Lang or lang: the language code for the project you wish to link to. See List of Wikipedias for a complete list of language codes used by Wikimedia sites.
- separator: the separator to use in between links. Valid values are
dot
( · ),comma
(, ),pipe
( | ), andtpt-languages
(⧼tpt-languages-separator⧽). If not specified, thendot
is the default. - small: if this parameter exists, fonts will be displayed at 90% of the normal size.
- sup: if this parameter exists, links will be displayed in superscript.
- span: if this parameter is set to "no", no
<span>...</span>
tags are included around the link toolbar. If this option is set, any URL links will appear with the external link icon. - doc: this parameter is only available on template pages, using the /template sub-template. If set to
yes
, it will automatically generate documentation for that template. - demo: if this parameter is set to
yes
, the template will not output any categories.
Codes
Here is a list of currently supported link codes:
Code | Example |
---|---|
u | Example |
t | talk |
c | contribs |
ae | non-automated edits |
api | api |
bl | block log |
bls | blocks |
bu | block user |
c64 | |
ca | central auth |
coibot | COIBot |
cr | change rights |
ct | count |
dc | deleted contribs |
del | deletions |
e | |
efl | filter log |
es | edit summaries |
gender | they/them |
ggl | |
http | |
l | logs |
lu | list user |
m | page moves |
msg | message |
np | Example |
nuke | nuke contribs |
pr | protections |
rbl | RBLs |
rdns | RDNS |
ren | renames |
rfa | RfA |
rl | rights |
sbx | sandbox |
sfs | StopForumSpam |
sul | global contribs |
sul2 | global contribs |
tl | target logs |
uc | user creation |
up | uploads |
whois | WHOIS |
wlh | links to user page |
Examples
Code | Output |
---|---|
{{User-multi|user=Example|t|c|e}} |
|
{{User-multi|user=Example|t|c|ct|m|l}} |
|
{{User-multi|user=Example|lang=es|t|c|e}} |
|
{{User-multi|user=Example|project=b|t|c|e}} |
|
{{User-multi|user=Example|project=b|lang=es|t|c|e}} |
|
{{User-multi|user=Example|project=wikibooks|lang=es|t|c|e}} |
|
{{User-multi|user=Example|t|c|e|sup=yes}} |
|
{{User-multi|user=Example|t|c|e|small=yes}} |
|
Errors
In certain circumstances, the template will generate errors. This is a list of all the error messages that the template might generate, and how users can resolve them.
No username detected
- User-multi error: no username detected.
There are two possible reasons for this error. The first is simply that you have not specified a username, or you have specified a username using an unrecognised parameter name. The second is that your username contains an equals sign, and that is causing the template to interpret the first half of your username as a parameter name. Both of these problems can be fixed by trying different parameters for the username. Try using |1=your username
, |User=your username
, and |user=your username
, and if none of those work please start a new thread at Template talk:User-multi.
Not a valid project or language code
- User-multi error: "xyz" is not a valid project or language code.
This error is produced if the template is not able to process the project parameter. The project parameter must either be a valid interwiki prefix or a valid language code. See Help:Interwiki linking for a list of valid interwiki prefixes, and the section on language code errors directly above for more details on valid language codes.
If you are sure that the interwiki prefix is valid, but you still get this error, it might be a bug in the software. This template uses Module:InterwikiTable for interwiki prefix data, so you can check to see if your site and your prefix exist in the table and fix it if they don't. If that fails to resolve the problem, please start a new thread at Template talk:User-multi.
Not a valid language code
- User-multi error: "xyz" is not a valid language code.
This error is generated if an invalid language code is specified. The language code must be a valid MediaWiki language code; for example, English is en
and German is de
. For a complete list of valid language codes, see the table of Wikimedia projects.
Not a valid link code
- User-multi error: "xyz" is not a valid link code.
This error is generated if an invalid link code is specified. For a list of valid link codes, see the code list above. This error may be generated if a link code corresponds to a function in Module:UserLinks/extra, but a recent edit to that page has rendered the function inoperable. Please check recent edits to Module:UserLinks/extra, and consider moving any often-used link functions to the main module.
No link code specified
- User-multi error: no link code specified.
This error is only generated when using Module:UserLinks directly to create a single link. The link code must be in the first positional parameter, like this: {{#invoke:UserLinks|single|link code|other parameters ...}}
.
Malformed link code detected
- User-multi error: malformed link code detected.
This error can only be generated when accessing Module:UserLinks from another Lua module. One of the link codes passed to the module was either not a string or was the blank string. This should be fixed in the Lua module that called Module:UserLinks.
No snippet exists
- User-multi error: no snippet exists for the key "xyz".
This error occurs when there is an error in one of the link functions. Usually, this means that a user has added an extra link function to Module:UserLinks/extra, but has tried to use a user data snippet that doesn't exist. The link function that generated this error needs to be fixed by the developers or by the local module maintainers.
Error category
All errors listed above are tracked in Category:UserLinks transclusions with errors. This category is added in all namespaces, but respects the blacklist defined in Module:Category handler. For example, archive pages are not categorised.
Adding new links
To add a new link, you need to edit the Lua module that this template is based on, Module:UserLinks. Instructions are in the source code, if you feel capable programming in Lua. If you're not familiar with Lua, feel free to make a request on Template talk:User-multi, and someone might add the link for you.