Wordpress Dev

Cộng điểm cho thành viên mỗi khi comment ?

Có một anh trên net hỏi tôi là có thể viết một đoạn mã để cộng điểm cho thành viên mỗi khi …

Có một anh trên net hỏi tôi là có thể viết một đoạn mã để cộng điểm cho thành viên mỗi khi comment được hay không, tôi trả lời là tất nhiên là có rồi, nhưng thay vì mỗi khi người dùng comment mà cộng điểm thì ta chỉ cần xét xem người đó đa comment bao nhiêu lần là được, hàm này tôi đã tích hợp vào trong trang diễn đàn của tôi rồi, và hàm này khá dễ dàng như sau:

Để đếm số comment của một người dùng xác định và được approved thì ta cho code sau vào file functions.php nhé:

<?
function commentCount() {
global $wpdb, global $current_user;
get_currentuserinfo();
$userId = $current_user->ID;

$count = $wpdb->get_var('
SELECT COUNT(comment_ID)
FROM ' . $wpdb->comments. '
WHERE user_id = "' . $userId . '"');
echo $count . ' comments';
}
?>

Còn nếu phát triển hệ thống điểm riêng thì ta cần phải hook vào một hàm kiểm tra comment:

add_action('transition_comment_status', 'my_approve_comment_callback', 10, 3);
function my_approve_comment_callback($new_status, $old_status, $comment) {
if($old_status != $new_status) {
if($new_status == 'approved') {
// Your code here
}
}
}

Chúc các bạn thành công, mọi thứ đều có thể làm được cùng với WordPress nếu các bạn có ý tưởng !

Thông tin liên quan