按默认值wp_list_comments()
调用类Walker_Comment
. Its方法start_el()
呼叫edit_comment_link()
这里我们为你的问题找到一个过滤器:它被称为\'edit_comment_link\'
它传递两个变量,链接文本和注释ID,我们可以使用它们。
将评论标记为垃圾邮件或将其删除的URL包括:
wp-admin/comment.php?c=1&action=cdc&dt=spam
用于垃圾邮件和wp-admin/comment.php?c=1&action=cdc
用于删除
我们可以添加一个参数
redirect_to=
在评论被破坏后将我们发回帖子。
这是我刚刚拼凑的一个插件示例(GitHub address):
<?php # -*- coding: utf-8 -*-
/**
* Plugin Name: T5 Comment moderation links
* Version: 2012.06.04
* Author: Thomas Scholz <[email protected]>
* Author URI: http://toscho.de
* License: MIT
* License URI: http://www.opensource.org/licenses/mit-license.php
*/
if ( ! function_exists( \'t5_comment_mod_links\' ) )
{
add_filter( \'edit_comment_link\', \'t5_comment_mod_links\', 10, 2 );
/**
* Adds Spam and Delete links to the Sdit link.
*
* @wp-hook edit_comment_link
* @param string $link Edit link markup
* @param int $id Comment ID
* @return string
*/
function t5_comment_mod_links( $link, $id )
{
$template = \' <a class="comment-edit-link" href="%1$s%2$s">%3$s</a>\';
$admin_url = admin_url( "comment.php?c=$id&action=" );
// Mark as Spam.
$link .= sprintf( $template, $admin_url, \'cdc&dt=spam\', __( \'Spam\' ) );
// Delete.
$link .= sprintf( $template, $admin_url, \'cdc\', __( \'Delete\' ) );
// Approve or unapprove.
$comment = get_comment( $id );
if ( \'0\' === $comment->comment_approved )
{
$link .= sprintf( $template, $admin_url, \'approvecomment\', __( \'Approve\' ) );
}
else
{
$link .= sprintf( $template, $admin_url, \'unapprovecomment\', __( \'Unapprove\' ) );
}
return $link;
}
}
TwentyEleven屏幕截图(样式表颠倒顺序):