基本上,我有一个动态 php 函数,它可以获取 Minecraft 服务器的状态(使用数据包等)。主要问题是代码在编辑时被解析(我可以在日志中看到)而不是在页面加载时解析。扩展检查<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;
}
每次查看带有该标签的页面时,如何让它替换该标签?有没有允许这样做的钩子?还是有更好的方法来解决这个问题?