ここにあるガイドを使用して、いくつかのmediawikiカスタムタグを作成しました
http://www.mediawiki.org/wiki/Manual:Tag_extensions
以下にコードを投稿しますが、問題は、ページの最初のカスタムタグにヒットした後、それを呼び出して応答を出力しますが、ウィキテキストでその後に続くものは何も取得しません。ページの解析が停止したようです。
何か案は?
if ( defined( 'MW_SUPPORTS_PARSERFIRSTCALLINIT' ) ) {
$wgHooks['ParserFirstCallInit'][] = 'tagregister';
} else { // Otherwise do things the old fashioned way
$wgExtensionFunctions[] = 'tagregister';
}
function tagregister(){
global $wgParser;
$wgParser->setHook('tag1','tag1func');
$wgParser->setHook('tag2','tag2func');
return true;
}
function tag1func($input,$params)
{
return "It called me";
}
function tag2func($input,$params)
{
return "It called me -- 2";
}
更新:@George Mauer-私もそれを見ましたが、これはページのレンダリングを停止せず、Mediawikiエンジンが残りのwikitextを解析するだけです。カスタム関数を押すかのように、処理が完了したことをmediawikiに通知します。私はうさぎの穴に飛び込む過程にありますが、他の誰かがこの行動を見たことを望んでいました。