Logo của Wordpress - giản thể

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 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 !

TÁC GIẢ:

Tôi là Jam, thâm niên 7 năm thiết kế website và làm SEO. Hãy theo dõi blog của tôi để nhận được nhiều chia sẻ thú vị xung quanh chủ đề công nghệ.

Có 3 bình luận !

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *