Extension:CategoryTests

Category:Extensions without an imageCategory:Extensions without a compatibility policyCategory:GPL licensed extensions
MediaWiki extensions manual
Category Tests
Release status: stableCategory:Stable extensions
Implementation Parser function Category:Parser function extensions
Description Provides a set of parser functions check for categories
Author(s) Ryan Schmidt (Skizzerztalk)
Latest version 1.6.0 (2017-10-28)
MediaWiki 1.32+Category:Extensions with manual MediaWiki version
PHP 5.3+
License GNU General Public License 2.0 or later
Download Category:Extensions in Wikimedia version control
Quarterly downloads 7 (Ranked 100th)
Translate the CategoryTests extension if it is available at translatewiki.net
Category:All extensions

The CategoryTests extension provides a set of dynamic parser functions that check for categories.

Usage

This currently defines 3 parser functions for category testing.

  • {{#ifcategory:category|then|else|page}}
Tests if the given page is in the category given, then displays "then" or "else" (or current page if no page is given).
  • {{#ifnocategories:then|else|page}}
Tests if the given page does not belong in any categories, then displays "then" or "else" (or current page if no page is given).
  • {{#switchcategory:category1=result1|category2=result2|...|default}}
Operates like the ParserFunctions #switch, but doesn't take an initial parameter (it just starts cycling through right away) and tests if the page is in those categories instead of comparing it to a value. You can specify to test other pages using #page=pagename, where it would then test that page instead of the current page until the next #page definition, in which case it will test that page now instead. Making #page empty resets it to the current page. If your default case needs an equals sign, you may use #default to declare it.

Installation

  • Download and move the extracted CategoryTests folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CategoryTests
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'CategoryTests' );
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

See also

  • ParserFunctions - For more general conditional constructs
  • PageInCat - The main difference seems to be that PageInCat will always try to use categories from the current revision, while CategoryTests may sometimes use the categories from the previous revision, which could result in unexpected page content
Category:Category extensions
Category:All extensions Category:Category extensions Category:Extensions in Wikimedia version control Category:Extensions included in Miraheze Category:Extensions with manual MediaWiki version Category:Extensions without a compatibility policy Category:Extensions without an image Category:GPL licensed extensions Category:ParserFirstCallInit extensions Category:Parser function extensions Category:Stable extensions