以元计算并保存平均值

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

我想请你帮忙制定一个系统平均值。我有一个视频游戏网站,我创建了一个函数,可以自动计算每次评论的平均值。它工作得很好。问题是,我想在我的边栏中显示分级为5场比赛的内容。不幸的是,我不能要求WP计算和比较每个平均值。这需要很多时间。所以我想做的是在发表评论时计算出在管理员中自动保存意味着一个meta。我对政府的可能性一无所知。有可能吗?如果是,如何进行?非常感谢。

/* RATE */

function get_rate_overall($rate=bool){

    $graphics = get_field(\'graphics\');
    $gameplay = get_field(\'game-play\');
    $life = get_field(\'life\');
    $sound = get_field(\'sound\');

    $overall = $graphics + $gameplay + $life + $sound;
    $overall = $overall / 4;
    if (is_float($overall)) { $overall = number_format($overall,1); }
    if ($rate == true) { echo $overall.\'/10\'; }
    if ($rate == false) { echo $overall; }  
}

1 个回复
最合适的回答,由SO网友:Milo 整理而成

您可以通过save_post 措施:

add_action( \'save_post\', \'wpa78558_save_average_meta\', 100 );

function wpa78558_save_average_meta( $post_id ) {

    if ( !wp_is_post_revision( $post_id ) ) {

        $graphics = get_field(\'graphics\', $post_id);
        $gameplay = get_field(\'game-play\', $post_id);
        $life = get_field(\'life\', $post_id);
        $sound = get_field(\'sound\', $post_id);

        $overall = $graphics + $gameplay + $life + $sound;
        $overall = $overall / 4;
        if (is_float($overall)) { $overall = number_format($overall,1); }

        update_post_meta($post_id, \'overall\', $overall);

    }

}
您可以在此处为特定的帖子类型添加其他检查(请参见上的示例save_post 或在保存元数据之前验证字段值是否存在。

平均值将保存在元键下overall 可以在模板中输出或在查询中引用。

结束

相关推荐

Wassup中显示的ODD/wp-admin/admin-ajax.php条目

我有一个奇怪的问题,我不知道如何解决。自从我安装了一个流行的帖子插件(Wordpress popular Posts)以来,我一直在Wassup实时分析中看到一个奇怪的条目,该页面名为/wp admin/admin ajax。php一次又一次。在我安装插件之前,它会显示被点击的页面,但无论出于何种原因,该页面看起来都会被点击,我无法看到用户实际点击的页面。下面是我所说的一个例子:编辑:How do I get the correct page/post to be displayed instead of