有没有人有效地将GD星级和立方体积分结合在一起?

时间:2011-03-23 作者:janoChen

是否有人有效集成GD star ratingCube Points?

从文档中:

插件集成CubePoints还可以轻松地与其他插件集成。可以对其他插件进行编码,以便某些操作触发cp\\u alterPoints()函数来添加或减去指定用户的点。

Function

cp_alterPoints( int $uid, int $points ) 
Parameters

int$uid:Wordpress用户的ID。要获取当前登录用户的ID,请使用cp\\u currentUser()函数。

int$return:要添加到指定用户的点数。

实例

以下代码将为当前登录的用户添加10个点。如果没有用户登录,则不会添加任何分数。您可以输入负数来减去点。

<php
  if( function_exists(\'cp_alterPoints\') && is_user_logged_in() ){
    cp_alterPoints(cp_currentUser(), 10);
    cp_log(\'hey\', cp_currentUser(), 10, 1);
  }
?>
在这种情况下,如果用户的帖子被投票,我想给他加10分(GD star rating的拇指评级系统)。

但我不知道怎么做。

有什么建议吗?

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

从…起this page, 你可以看到gdsr_vote_rating_article 是您需要的挂钩-保存后评级时会调用它。

SO网友:Milos Matovic

经过一些谷歌搜索和反复尝试,以下是解决方案:

add_action( \'gdsr_vote_thumb_article\', \'cubepoints_vote_up_down\', 10, 4 );        
function cubepoints_vote_up_down() {
    global $bp;
    cp_points( \'star_rating\', cp_currentUser(), 1, $data );
}

add_action( \'cp_logs_description\', \'cp_admin_logs_desc_star_rating\', 10, 4 );
function cp_admin_logs_desc_star_rating( $type, $uid, $points, $data ) {
    global $bp;
    if ( $type != \'star_rating\' ) { return; }
    $post = get_post( $data );
    echo \'Voted for \' . $post;
}
这是给gdsr_vote_thumb_article 挂钩(拇指向上/向下),但如果要连接评级挂钩,请使用gdsr_vote_rating_article.

这将给一个评分为1分的用户,无论他投的是赞成票还是反对票。

如果要传递实际评级的值,需要$_GET 来自的某些参数gd-star-rating AJAX调用:

function cubepoints_vote_up_down() {
    global $bp;
    // get voted post id
    $post_id = $_GET[\'vote_id\'];
    // get the value of rating
    $vote = $_GET[\'vote_value\'];

    if ( $vote == \'up\' ) {
        $point = \'1\';
    } else {
        $point = \'-1\';
    }
}
如果您想给帖子作者评分,而不是给当前登录用户评分:

function cubepoints_vote_up_down() {
    global $bp, $wpdb, $post;
    $post_id = $_GET[\'vote_id\'];
    $vote = $_GET[\'vote_value\'];

    $post = get_post( $post_id );
    $post_author = $post->post_author;

    if ( $vote == \'up\' ) {
        $point = \'1\';
    } else {
        $point = \'-1\';
    }
    cp_points( \'thumb_up_down\', $post_author, $point, $data );
}

相关推荐

有没有人有效地将GD星级和立方体积分结合在一起? - 小码农CODE - 行之有效找到问题解决它

有没有人有效地将GD星级和立方体积分结合在一起?

时间:2011-03-23 作者:janoChen

是否有人有效集成GD star ratingCube Points?

从文档中:

插件集成CubePoints还可以轻松地与其他插件集成。可以对其他插件进行编码,以便某些操作触发cp\\u alterPoints()函数来添加或减去指定用户的点。

Function

cp_alterPoints( int $uid, int $points ) 
Parameters

int$uid:Wordpress用户的ID。要获取当前登录用户的ID,请使用cp\\u currentUser()函数。

int$return:要添加到指定用户的点数。

实例

以下代码将为当前登录的用户添加10个点。如果没有用户登录,则不会添加任何分数。您可以输入负数来减去点。

<php
  if( function_exists(\'cp_alterPoints\') && is_user_logged_in() ){
    cp_alterPoints(cp_currentUser(), 10);
    cp_log(\'hey\', cp_currentUser(), 10, 1);
  }
?>
在这种情况下,如果用户的帖子被投票,我想给他加10分(GD star rating的拇指评级系统)。

但我不知道怎么做。

有什么建议吗?

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

从…起this page, 你可以看到gdsr_vote_rating_article 是您需要的挂钩-保存后评级时会调用它。

SO网友:Milos Matovic

经过一些谷歌搜索和反复尝试,以下是解决方案:

add_action( \'gdsr_vote_thumb_article\', \'cubepoints_vote_up_down\', 10, 4 );        
function cubepoints_vote_up_down() {
    global $bp;
    cp_points( \'star_rating\', cp_currentUser(), 1, $data );
}

add_action( \'cp_logs_description\', \'cp_admin_logs_desc_star_rating\', 10, 4 );
function cp_admin_logs_desc_star_rating( $type, $uid, $points, $data ) {
    global $bp;
    if ( $type != \'star_rating\' ) { return; }
    $post = get_post( $data );
    echo \'Voted for \' . $post;
}
这是给gdsr_vote_thumb_article 挂钩(拇指向上/向下),但如果要连接评级挂钩,请使用gdsr_vote_rating_article.

这将给一个评分为1分的用户,无论他投的是赞成票还是反对票。

如果要传递实际评级的值,需要$_GET 来自的某些参数gd-star-rating AJAX调用:

function cubepoints_vote_up_down() {
    global $bp;
    // get voted post id
    $post_id = $_GET[\'vote_id\'];
    // get the value of rating
    $vote = $_GET[\'vote_value\'];

    if ( $vote == \'up\' ) {
        $point = \'1\';
    } else {
        $point = \'-1\';
    }
}
如果您想给帖子作者评分,而不是给当前登录用户评分:

function cubepoints_vote_up_down() {
    global $bp, $wpdb, $post;
    $post_id = $_GET[\'vote_id\'];
    $vote = $_GET[\'vote_value\'];

    $post = get_post( $post_id );
    $post_author = $post->post_author;

    if ( $vote == \'up\' ) {
        $point = \'1\';
    } else {
        $point = \'-1\';
    }
    cp_points( \'thumb_up_down\', $post_author, $point, $data );
}

相关推荐