DaoKeCMS插件开发中常见的钩子重复注册坑:
main.php被多次require_once(虽然require_once本身防重复),但在某些边缘场景下钩子可能被重复注册,导致回调执行多次。
// 用静态变量防重复
function myplugin_register_hooks() {
static $done = false;
if ($done) return;
$done = true;
register_hook('head', 'myplugin_head_hook');
register_hook('footer', 'myplugin_footer_hook');
}
myplugin_register_hooks();