Extension:RandomSelection
Release status: stable |
|
|---|---|
| Implementation | Tag, Parser function |
| Description | Displays a random option from the given set |
| Author(s) | |
| Latest version | 3.0.0 (2018-09-09) |
| MediaWiki | 1.43+ |
| Database changes | No |
|
|
|
|
|
| Licence | GNU General Public License 2.0 or later |
| Download | |
| Example | |
| Translate the RandomSelection extension if it is available at translatewiki.net | |
The RandomSelection extension allows for randomly-generated content inside your wiki; e.g. rotating images, random greetings, etc.
Installation
- Download and move the extracted
RandomSelectionfolder to yourextensions/directory.
Developers and code contributors should install the extension from Git instead, using:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/RandomSelection
- Add the following code at the bottom of your LocalSettings.php file:
wfLoadExtension( 'RandomSelection' );
Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Usage
Tags
To choose between one or more options, simply place each option inside an <option> tag which are themselves placed inside <choose> tags, like so:
<choose>
<option>This is the first choice.</option>
<option>This is the second choice.</option>
<option>And so on...</option>
</choose>
From each set of <choose> tags, precisely one <option> tag will be selected at random, and its contents shown.
Anything can be placed inside of option tags: links, images, even templates.
You can also have what is placed inside the option tags be sent as an argument to a template with the <choicetemplate> tag, e.g.:
<choose>
<option>Template:Featured article/Elephant</option>
<option>Template:Featured article/Giraffe</option>
<option>Template:Featured article/Rhinoceros</option>
<choicetemplate>PageWithEditButton</choicetemplate>
</choose>
You could then create a [[Template:PageWithEditButton]] with these contents:
[{{canonicalurl:{{{1}}}|action=edit}} Edit] {{{{{1}}}}}
This is useful if you want to set up randomly rotating featured articles and have an edit button to allow the user to edit the featured article blurbs.
Parameters to choose
| Parameter | Description |
|---|---|
uncached
|
Disable caching for the chosen option |
before
|
Put this text before the chosen option |
after
|
Put this text after the chosen option |
<choose> tag is disabled only if the user specifies <choose uncached>. Previously caching was disabled by default.If you wanted to disable caching for the options, you should add the uncached parameter.
<choose uncached>
<option>This is the first choice.</option>
<option>This is the second choice.</option>
<option>And so on...</option>
</choose>
If you wanted to display one of three YouTube videos, you could try this (Extension:Widgets and Extension:YouTube required):
<choose before="{{#widget: YouTube|id=" after="}}">
<option>eR7-AUmiNcA</option><!--King of Anything-->
<option>cSCi7kCXKDA</option><!--Slipping Through My Fingers-->
<option>7n2d9XPsmmE</option><!--When Death Note Music Plays in My Car-->
</choose>
Parameters to option
| Parameter | Description |
|---|---|
weight
|
Weight of the option |
If you'd like some options to be shown more often than others, you can add weight to the option tags, like so:
<choose>
<option weight="2">This option will be shown twice as often as a normal option.</option>
<option>By default, options have a weight of 1.</option>
<option weight="1.5">This option also has a weight of 1. Fractional portions are ignored.</option>
</choose>
Parser function
To choose between one or more options, simply place each option inside the #choose: parser function, like so:
{{#choose:
This is the first choice.
|This is the second choice.
|And so on...
}}
From each choice divided by a pipe, precisely one choice will be selected at random, and its contents shown.
If you'd like some options to be shown more often than others, you can add weight as parameter names, like so:
{{#choose:
2=This option will be shown twice as often as a normal option.
|By default, options have a weight of 1.
|1.5=This option also has a weight of 1. Fractional portions are ignored.
}}
If the option contains =, you have to escape it, by either replacing it with {{=}} or prefixing the option with 1=.
=, you have to escape it with 1= ({{=}} doesn't work).
Example:
{{#choose:2 + 2 = 4}}→ 4{{#choose:2 + 2 {{=}} 4}}→ 4{{#choose:1=2 + 2 = 4}}→ 2 + 2 = 4
See also
- Extension:RandomImage — Allows for randomisation of multimedia content on a page
| This extension is included in the following wiki farms/hosts and/or packages: |
- Stable extensions/en
- Tag extensions/en
- Parser function extensions/en
- MagicWordwgVariableIDs extensions/en
- ParserFirstCallInit extensions/en
- GPL licensed extensions/en
- Extensions in Wikimedia version control/en
- All extensions/en
- Extensions included in Canasta/en
- Extensions included in Fandom/en
- Extensions included in Miraheze/en
- Extensions included in MyWikis/en
- Extensions included in ShoutWiki/en
- Extensions included in Telepedia/en
- Extensions included in Weird Gloop/en
- Extensions included in wiki.gg/en
- Random content extensions/en
