MediaWiki extensions manual
Release status: stable
Implementation Parser function
Description Provides a parser function to create additional pages automatically when a page is saved
Maintainer(s) Universal Omega
Latest version 0.9 (2022-08-19)
MediaWiki 1.36+
PHP 7.3+
Database changes No
License GNU General Public License 2.0 or later

  • $egAutoCreatePageMaxRecursion
  • $egAutoCreatePageIgnoreEmptyTitle
  • $egAutoCreatePageNamespaces

The AutoCreatePage extension provides a parser function called #createpageifnotex: that creates a page of a given title if no such page exists yet. The function takes the page title and the wikitext that is used to create the page as its only parameters. This can be used by templates that want to create some content on separate pages, which is especially useful when creating pages with Page Forms or when using Semantic MediaWiki to create query pages (which may be too big to fit on the same page).

Usage edit

The general syntax for using the parser function is:

 Name of the page to create
 |Initial content of the page if created

All newly created pages will be attributed to the user who edited the page where the parser function was used. It is possible to use templates and parser functions as part of the initial content by surrounding them with ‎<nowiki> tags. Example:

 Name of the page to create

However, newly created pages can never create additional pages (this is a feature; otherwise one could accidentally create large numbers of pages, where each new page creates another one).

Installation edit

Configuration edit

The extension supports three configuration variables, that can be set in the "LocalSettings.php" file.

The maximum recursion depth to which calls of createpageifnotex are executed on created pages. Default: 1.
If invocations of createpageifnotex should be silently ignored. Default: false (will put an error message on the wiki page).
The list of namespaces in which calls of createpageifnotex are executed. If your call originates from a page not in one of these namespaces, it gets ignored. Defaults to $wgContentNamespaces . An example for an alternative setting:
$egAutoCreatePageNamespaces = [

See also edit