Hook位置在comment_li.htm,代码 <!--{hook/reply_middle_geetest}--> 插件的测试代码 class plugin_freeng_portal extends plugin_freeng{ function view_article_side_bottom(){ return 'hello world'.CURSCRIPT; } function reply_middle_geetest(){ return CURSCRIPT.'hello world'; } } 但是这样只是hook显示在页面中,后台插件根本还是执行不到那个自定义hook 见证奇迹的时刻来了 hook的名字要以模块名加_开始,其实这点做插件开发的时候应该已经察觉到了,每个hook的开头都是模块名 其实官方文档也有说明 function CURMODULE_USERDEFINE[_output]() CURMODULE 指明了此函数在哪个模块执行 其实这个模块对应相应页面的mod参数,比如说看门户文章的页面url是portal.php?mod=post&aid=X,那这个页面的Hook就需要用post_打头 根据这个规则修改hook名为<!--{hook/post_reply_middle_geetest}-->(其实<!--{hook/post_digg}-->应该就可以) 同时函数名对应改成function post_reply_middle_geetest() OK,成功执行