Available from version 1.7.0 (r14420, codereview)
Allows last minute changes to the output page, e.g. adding of CSS or JavaScript by extensions.
Define function:
public static function onBeforePageDisplay( MediaWiki\Output\OutputPage $out, Skin $skin ) { ... }
Attach hook: In extension.json:
	"Hooks": {
		"BeforePageDisplay": "MediaWiki\\Extension\\MyExtension\\Hooks::onBeforePageDisplay"
Called from: File(s): Output/OutputPage.php
Function(s): output
Interface: BeforePageDisplayHook.php

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


  • This hook was in SkinTemplate.php until version 1.12.0
  • $out - The OutputPage object.
  • $skin - Skin object that will be used to generate the page, added in 1.13.


Scripts, styles, and other header elements can be added to the OutputObject at this point.

  • $out->addMeta( $name, $value ) - Add a ‎<meta> tag.
MediaWiki version:

For adding scripts and styles on MediaWiki 1.17 and above, use ResourceLoader modules.

  • $out->addModules( [ /*modules*/ ] ) - For modules with both scripts and styles
  • $out->addModuleStyles( [ /*modules*/ ] ) - For modules with styles only
MediaWiki version:

For adding scripts and styles on MediaWiki 1.16 and below:

  • $out->addScriptFile( $path ) - Add a JS file. $path is the path to the JS file, such as $wgScriptPath /extensions/MyExtension/MyCoolScript.js
  • $out->addScript( $html ) - Add a JS file. $html is a full script tag: '<script type="text/javascript" src="..."></script>'
  • $out->addStyle( $src ) - Add a CSS file. $src is a URL to a stylesheet.
  • $out->addInlineScript( $script ) - Add inline JS.
  • $out->addLink( $title, $id ) - Add a link for the keyword ‎<link> tag.

See also[edit]