通过 Filter_Plugin_Comment_Del 接口,可以在 Z-BlogPHP 删除评论时执行自定义逻辑。该接口在评论对象的 Del 方法内部、默认数据库删除之前触发,适用于清理插件为该评论生成的关联数据、记录删除日志等场景。后台删除评论、递归删除子评论、批量删除等操作都会触发。
Filter_Plugin_Comment_Del
Del
&$comment
下例在评论被删除时,记录删除日志(可作为同步清理外部系统数据的依据):
<?php RegisterPlugin("demoAPP", "ActivePlugin_demoAPP"); function ActivePlugin_demoAPP() { Add_Filter_Plugin('Filter_Plugin_Comment_Del', 'demoAPP_Comment_Del'); } function demoAPP_Comment_Del(&$comment) { global $zbp; $log = date('Y-m-d H:i:s') . ' comment deleted #' . $comment->ID . ' (post ' . $comment->LogID . ')' . PHP_EOL; @file_put_contents($zbp->usersdir . 'plugin/demoAPP/comment.log', $log, FILE_APPEND); return true; }
ID
LogID
AuthorID
PLUGIN_EXITSIGNAL_RETURN
评论删除联动扩展
通过
Filter_Plugin_Comment_Del接口,可以在 Z-BlogPHP 删除评论时执行自定义逻辑。该接口在评论对象的Del方法内部、默认数据库删除之前触发,适用于清理插件为该评论生成的关联数据、记录删除日志等场景。后台删除评论、递归删除子评论、批量删除等操作都会触发。接口信息
Filter_Plugin_Comment_Del&$comment完整案例
下例在评论被删除时,记录删除日志(可作为同步清理外部系统数据的依据):
注意事项
Del方法都会单独触发本接口,批量删除场景下回调会被多次调用;ID、LogID、AuthorID等属性;Del方法的返回值并跳过默认删除,须配合PLUGIN_EXITSIGNAL_RETURN信号(在回调内每次置位),拦截删除需谨慎;