Available from version 1.21.0
Allows control over which content model a given title will default to.
Define function:
public static function onContentHandlerDefaultModelFor( MediaWiki\Title\Title $title, ?string &$model ) { ... }
Attach hook: In extension.json:
	"Hooks": {
		"ContentHandlerDefaultModelFor": "MediaWiki\\Extension\\MyExtension\\Hooks::onContentHandlerDefaultModelFor"
Called from: File(s): includes/Revision/MainSlotRoleHandler.php
Interface: ContentHandlerDefaultModelForHook.php

For more information about attaching hooks, see Manual:Hooks .
For examples of extensions using this hook, see Category:ContentHandlerDefaultModelFor extensions.


  • \Title $title: Title for which the default content model is to be determined.
  • ?string &$model: The desired model. A handler function can change this to control the model that will be used for the given title. Usually uses one of the CONTENT_MODEL_xxx constants.

Return false to bypass any built-in rules for determining the model, such as the file extensions ".js" and ".css" on user subpages. Return true to keep applying these rules.

For more information on content models see ContentHandler, and for a tutorial about creating content models in extensions, see Manual:Page content models.