我正试图在侧边栏中创建一个小的顶级评论列表。我不想使用插件,所以我在谷歌上搜索代码。我只能找到以下内容:
function top_comment_authors($amount = 5){
global $wpdb;
$results = $wpdb->get_results(\'
SELECT
COUNT(comment_author_email) AS comments_count, comment_author_email, comment_author, comment_author_url
FROM
\'.$wpdb->comments.\'
WHERE
comment_author_email != "" AND comment_type = "" AND comment_approved = 1
GROUP BY
comment_author_email
ORDER BY
comments_count DESC, comment_author ASC
LIMIT \'.$amount
);
$output = "<ul>";
foreach($results as $result){
$output .= "<li>".$result->comment_author."</li>";
}
$output .= "</ul>";
echo $output;
}
我已经修改了它,因为我还想显示帖子数量和作者url。稍后我还想添加一个gravatar。但是,它只是将所有内容相邻显示:
$output .= "<li>".$result->comment_author. $result->comments_count. $result->comment_author_url."</li>";
}
$output .= "</ul>";
echo $output;
}
每当我尝试添加某些内容时,最终都会收到一条错误消息。我很确定,如果我想改变它的显示方式,我需要修改上面的小代码,但是如何修改呢/
这就是我调用函数的方式,因此除了函数之外,没有其他定制空间。php,对吗?:
<?php top_comment_authors(); ?>
我对PHP不是很在行,所以我想知道我该如何做这样的事情:
[gravatar]“如果可用,注释者名称为url”(注释计数),例如“japanworm(45)”
如果有人能帮我一点忙,那就太好了。非常感谢!
最合适的回答,由SO网友:Michael 整理而成
$output .= "<li>".(($result->comment_author_url) ? "<a href=\'".$result->comment_author_url."\'>" : "").$result->comment_author.(($result->comment_author_url) ? "</a>" : "")." (".$result->comments_count.")</li>";
编辑:在名称前显示头像:
$output .= "<li>".get_avatar($result->comment_author_email, 45).\' \'.(($result->comment_author_url) ? "<a href=\'".$result->comment_author_url."\'>" : "").$result->comment_author.(($result->comment_author_url) ? "</a>" : "")." (".$result->comments_count.")</li>";