Index: includes/parser/CoreParserFunctions.php
===================================================================
--- includes/parser/CoreParserFunctions.php	(revision 107718)
+++ includes/parser/CoreParserFunctions.php	(working copy)
@@ -80,6 +80,7 @@
 		$parser->setFunctionHook( 'subjectpagenamee', array( __CLASS__, 'subjectpagenamee' ), SFH_NO_HASH );
 		$parser->setFunctionHook( 'tag',              array( __CLASS__, 'tagObj'           ), SFH_OBJECT_ARGS );
 		$parser->setFunctionHook( 'formatdate',       array( __CLASS__, 'formatDate'       ) );
+		$parser->setFunctionHook( 'nometa',           array( __CLASS__, 'nometa'           ), SFH_OBJECT_ARGS | SFH_NO_HASH );
 
 		if ( $wgAllowDisplayTitle ) {
 			$parser->setFunctionHook( 'displaytitle', array( __CLASS__, 'displaytitle' ), SFH_NO_HASH );
@@ -794,4 +795,25 @@
 		);
 		return $parser->extensionSubstitution( $params, $frame );
 	}
+
+	/**
+	 * Modifier to template so categories/other user-visible metadata is not transcluded.
+	 *
+	 * Using SFH_NO_HASH, to be like int: (and look like raw:, msg:, msgnw:, etc)
+	 *
+	 * This doesn't disable {{DISPLAYTITLE:...}}. {{DEFAULTSORT:...}}. I wasn't sure if it should or not.
+	 */
+	public static function nometa( $parser, $frame, $arg ) {
+		$output = $parser->getOutput();
+		$langLinks = $output->getLanguageLinks();
+		$catLinks = $output->getCategoryLinks();
+
+		$wikiText = $frame->expand( $frame->virtualBracketedImplode( '{{', '|', '}}', $arg ) );
+		$parsed = $parser->recursiveTagParse( $wikiText, $frame );
+
+		$output->setLanguageLinks( $langLinks );
+		$output->setCategoryLinks( $catLinks );
+
+		return array( $parsed, 'isHTML' => true );
+	}
 }
Index: languages/messages/MessagesEn.php
===================================================================
--- languages/messages/MessagesEn.php	(revision 107718)
+++ languages/messages/MessagesEn.php	(working copy)
@@ -348,6 +348,7 @@
 	'staticredirect'         => array( 1,    '__STATICREDIRECT__'     ),
 	'protectionlevel'        => array( 1,    'PROTECTIONLEVEL'        ),
 	'formatdate'             => array( 0,    'formatdate', 'dateformat' ),
+	'nometa'                 => array( 0,    'NOMETA' ),
 	'url_path'               => array( 0,    'PATH' ),
 	'url_wiki'               => array( 0,    'WIKI' ),
 	'url_query'              => array( 0,    'QUERY' ),
