基本的に、Minecraftサーバーのステータスを取得する動的php関数があります(パケットなどを使用)。主な問題は、ページがロードされたときではなく、編集時にコードが解析されることです (ログで確認できます)。拡張機能は<status />
タグをチェックし、それをステータス (コンテンツを含む div) に置き換えます。
重要なソース コード:
$wgExtensionCredits['parsehook'][] = array(
'name' => 'MCStatusTag',
'author' => 'ZephireNZ',
'url' => '/* Redacted */',
);
$wgHooks['ParserFirstCallInit'][] = 'registerStatusTag';
function registerStatusTag(Parser $parser) {
$parser->setHook('status','printStatusTag');
return true;
}
function printStatusTag($input, array $args, Parser $parser, PPFrame $frame) {
$parser->disableCache(); // I tried disabling cache as suggested, but it doesn't work.
// Return constructed html;
}
そのタグを持つページが表示されるたびにタグを置き換えるにはどうすればよいですか? これを可能にするフックはありますか?または、これについてもっと良い方法はありますか?