Post Views Code Hacks

时间:2013-01-16 作者:AndrettiMilas

// Post views
    function getPostViews($postID){
        $count_key = \'post_views_count\';
        $count = get_post_meta($postID, $count_key, true);
        if($count==\'\'){
            delete_post_meta($postID, $count_key);
            add_post_meta($postID, $count_key, \'0\');
            return "0 View";
        }
        return $count.\' Views\';
    }
    function setPostViews($postID) {
        $count_key = \'post_views_count\';
        $count = get_post_meta($postID, $count_key, true);
        if($count==\'\'){
            $count = 0;
            delete_post_meta($postID, $count_key);
            add_post_meta($postID, $count_key, \'0\');
        }else{
            $count++;
            update_post_meta($postID, $count_key, $count);
        }
    }
上面的代码会记住并显示帖子视图,但存在两个问题:

当有1个视图时,它应该产生“视图”一词,而不是“视图”,以及所有其他数字,它应该说“视图”(就像当前一样)

所显示的数字中未添加逗号。数字将显示为1234,而不是显示为1234。

1 个回复
最合适的回答,由SO网友:PrivateUser 整理而成
// Post views
    function getPostViews($postID){
        $count_key = \'post_views_count\';
        $count = get_post_meta($postID, $count_key, true);
        if($count==\'\'){
            delete_post_meta($postID, $count_key);
            add_post_meta($postID, $count_key, \'0\');
            return "0 View";
        } 
        if ($count == \'1\') {
        return $count.\' View\';
        } else {
        $count = number_format((int)$count);
        return $count.\' Views\';
       }
    }
    function setPostViews($postID) {
        $count_key = \'post_views_count\';
        $count = get_post_meta($postID, $count_key, true);
        if($count==\'\'){
            $count = 0;
            delete_post_meta($postID, $count_key);
            add_post_meta($postID, $count_key, \'0\');
        }else{
            $count++;
            update_post_meta($postID, $count_key, $count);
        }
    }
结束