通过 Filter_Plugin_CheckComment_Succeed 接口,可以在 Z-BlogPHP 评论审核结果保存成功之后执行自定义逻辑。该接口在 CheckComment() 函数内触发,此时审核状态已写入数据库,但审核状态变化引发的计数更新尚未执行,适合做审核通知、审计日志等后续处理。
Filter_Plugin_CheckComment_Succeed
CheckComment()
&$cmt
下例在评论审核结果保存后写一条审核日志,标明审核结论与操作人,便于站长追溯审核记录:
<?php RegisterPlugin("demoAPP", "ActivePlugin_demoAPP"); function ActivePlugin_demoAPP() { Add_Filter_Plugin('Filter_Plugin_CheckComment_Succeed', 'demoAPP_CheckComment_Succeed'); } function demoAPP_CheckComment_Succeed(&$cmt) { global $zbp; // IsChecking 为 false 表示审核通过,true 表示驳回(继续待审) $result = $cmt->IsChecking ? '驳回' : '通过'; $file = $zbp->usersdir . 'plugin/demoAPP/check.log'; $log = date('Y-m-d H:i:s') . ' 审核 #' . $cmt->ID . ' 结论=' . $result . ' 操作人=' . $zbp->user->Name . PHP_EOL; file_put_contents($file, $log, FILE_APPEND); }
$cmt->Save()
Filter_Plugin_CheckComment_Core
Filter_Plugin_PostComment_Succeed
Filter_Plugin_DelComment_Succeed
CountCommentNums
评论审核后处理扩展
通过
Filter_Plugin_CheckComment_Succeed接口,可以在 Z-BlogPHP 评论审核结果保存成功之后执行自定义逻辑。该接口在CheckComment()函数内触发,此时审核状态已写入数据库,但审核状态变化引发的计数更新尚未执行,适合做审核通知、审计日志等后续处理。接口信息
Filter_Plugin_CheckComment_Succeed&$cmt完整案例
下例在评论审核结果保存后写一条审核日志,标明审核结论与操作人,便于站长追溯审核记录:
注意事项
CheckComment()中、$cmt->Save()之后;注意审核状态变化引发的计数更新(文章评论数、待审数、会员评论数)在本接口之后才执行,回调内读取的计数类属性可能是旧值;&$cmt引用,但此阶段修改对象属性不会再自动入库,确需落库应在回调内显式调用$cmt->Save();Filter_Plugin_CheckComment_Core是同一审核流程的前后两段:Core 在审核结果入库前触发、可改数据,Succeed 在入库后触发;Filter_Plugin_PostComment_Succeed,删除走Filter_Plugin_DelComment_Succeed,注意区分;CountCommentNums等系统计数,否则会出现重复计数。