不使用插件显示排名靠前的评论者

时间:2011-09-25 作者:japanworm

我正试图在侧边栏中创建一个小的顶级评论列表。我不想使用插件,所以我在谷歌上搜索代码。我只能找到以下内容:

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。但是,它只是将所有内容相邻显示:

enter image description here

$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)”

如果有人能帮我一点忙,那就太好了。非常感谢!

1 个回复
最合适的回答,由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>"; 

结束

相关推荐

Comments_Popup_link不带回显?

我只想得到comments\\u popup\\u link生成的HTML,并在以后进行回显。我看不到comments\\u popup\\u链接有$echo 参数,我没有看到get\\u comments\\u popup\\u link函数,就像有get\\u the\\u ID一样,它返回显示它的HTML istead。我正在使用WordPress 3.1.2我能做什么?