基于评论或浏览量的评分

时间:2013-01-07 作者:Shawnshh

有没有可能有某种基于评论或视图数量的分级功能?

示例:

与其说是200个视图,不如说是:

"E;“热门”;

400个视图,上面写着:

"E;“非常热”;

类似于if-else语句的内容;“热门”;如果elseecho;“冷”;

1 个回复
SO网友:fuxia

我不会考虑访问次数:要获得这些数字,你必须连接到一个外部表,或者更糟糕的是,在每次请求时都要写入WordPress表。

使用内置的注释。下面是一个示例代码,可以根据您的注释开发进行自我调整:

add_filter( \'the_content\', \'wpse_78513_hotness\' );

function wpse_78513_hotness( $content )
{
    static $average = FALSE;

    static $global_stats = NULL;

    if ( FALSE === $average )
        $average = round( wp_count_posts()->publish / wp_count_comments()->approved );

    $current_comments = wp_count_comments( get_the_ID() )->approved;

    $hotness = \'lukewarm\';

    if ( $current_comments >= ( $average * 1.5 ) )
        $hotness = \'hot\';

    if ( $current_comments <= ( $average / 2 ) )
        $hotness = \'cold\';

    $stats = "<p class=\'hotness\'>Hotness: $hotness</p>";

    return $stats . $content;
}
它统计第一次调用的帖子和评论,并将这些数据存储在内部静态变量中,以节省后续调用的时间。然后计算当前帖子的评论数,并计算其与平均值的差异。

您可以而且应该扩展它。这只是一个指南,不是一个完整的解决方案。

结束