Manual:$wgNamespacesWithSubpages

From MediaWiki.org
Jump to: navigation, search
Namespaces: $wgNamespacesWithSubpages
Which namespaces should support subpages?
Introduced in version: pre 1.1.0
Removed in version: still in use
Allowed values: (see below)
Default value: (see below)

Other settings: Alphabetical | By Function


Details[edit | edit source]

The variable holds an array indicating which namespaces allow sub-pages. The array is indexed by the numeric namespace ID, and each array value is either 0 (no sub-pages) or 1 (sub-pages allowed). A categoryspace (namespace 14) subpage will work like any other category.

See Help:Subpages

Enabling for a namespace[edit | edit source]

See also Manual:Namespace constants for a list of the NS_... codes.

The normal way to enable subpages for a given namespace is to edit the LocalSettings.php and insert the following:

# Enable subpages in the main namespace
$wgNamespacesWithSubpages[NS_MAIN] = true;
 
# Enable subpages in the template namespace
$wgNamespacesWithSubpages[NS_TEMPLATE] = true;
 
# etc.

Disabling for a namespace[edit | edit source]

Disable subpages in a namespace (where it is enabled by default). For example NS_TALK has subpages enabled by default in MediaWiki. To disable them, set false:

$wgNamespacesWithSubpages[NS_TALK] = false;

Enabling for all namespaces[edit | edit source]

# Enable subpages in all namespaces
$wgNamespacesWithSubpages = array_fill( 0, 200, true );

This assumes you have no more than 200 namespaces.

If you only wanted to enable subpages for all talk namespaces, you would use:

# Enable subpages in all talk namespaces
$arr = array_fill ( 0, 200, true );
foreach( $arr as $key => $value ) {
	if( $key & 1 ) { // Bit checking
		unset ( arr[$key] );
	}
}
$wgNamespacesWithSubpages = array_merge( $wgNamespacesWithSubpages, $arr );

Again, this assumes you have no more than 200 namespaces.

Default value[edit | edit source]

The default is to enable subpages, but not within the 'main' namespace. They are enabled only within talk pages and user pages.

Note: Enabling on all 'talk' pages actually requires many entries in this array; one for each talk namespace. Each version of MediaWiki only went as far as the maximum namespace existing at the time.

1.5.0 and above[edit | edit source]

 array(
 	NS_TALK           => true,
 	NS_USER           => true,
 	NS_USER_TALK      => true,
 	NS_PROJECT_TALK   => true,
 	NS_IMAGE_TALK     => true,
 	NS_MEDIAWIKI_TALK => true,
 	NS_TEMPLATE_TALK  => true,
 	NS_HELP_TALK      => true,
 	NS_CATEGORY_TALK  => true
 );

See also[edit | edit source]

Language: English  • français • 日本語 • 中文