通过 Filter_Plugin_Admin_CommentMng_Table 接口,可以逐行处理评论管理页列表表格,向每行追加自定义单元格或修改系统已有的列内容。该接口自 Z-BlogPHP 1.5.1 起提供。
Filter_Plugin_Admin_CommentMng_Table
Comment &$cmt, arr &$tabletds, arr &$tableths, Post $article
下例为评论列表新增一列「IP」,展示评论者提交评论时的 IP 地址:
<?php RegisterPlugin("demoAPP", "ActivePlugin_demoAPP"); function ActivePlugin_demoAPP() { Add_Filter_Plugin('Filter_Plugin_Admin_CommentMng_Table', 'demoAPP_CommentMng_Table'); } function demoAPP_CommentMng_Table(&$cmt, &$tabletds, &$tableths, $article = null) { // 接口每行都会触发,表头用静态变量保证只添加一次 static $headerAdded = false; if (!$headerAdded) { // $tableths 最后一个元素是 '</tr>',在它之前插入自定义表头 array_splice($tableths, count($tableths) - 1, 0, array('<th>IP</th>')); $headerAdded = true; } // 在当前行 '</tr>' 之前插入对应单元格 array_splice($tabletds, count($tabletds) - 1, 0, array('<td class="td10">' . htmlspecialchars($cmt->IP) . '</td>')); // 第四个参数 $article 是评论所属文章对象;评论对应的文章不存在时可能为空 if ($article) { // 可以结合文章信息做进一步处理,例如只统计某篇文章的评论 } }
$cmt
Comment
$tabletds
array
<tr>
</tr>
<td>
$tableths
$article
Post
foreach
static
&
$article = null
评论管理页表格列扩展
通过
Filter_Plugin_Admin_CommentMng_Table接口,可以逐行处理评论管理页列表表格,向每行追加自定义单元格或修改系统已有的列内容。该接口自 Z-BlogPHP 1.5.1 起提供。接口信息
Filter_Plugin_Admin_CommentMng_TableComment &$cmt, arr &$tabletds, arr &$tableths, Post $article完整案例
下例为评论列表新增一列「IP」,展示评论者提交评论时的 IP 地址:
参数说明
$cmtComment$tabletdsarray<tr>,末元素为</tr>,中间是各<td>$tablethsarray$tabletds相同,末元素为</tr>$articlePost注意事项
foreach循环内,每输出一条评论就触发一次;添加表头务必用static变量(或等效判断)只执行一次,否则表头会随评论数重复增加;&不能省略;第四个$article不是引用参数,建议在回调中给一个默认值(如$article = null)并先判空再使用;