最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

database - Post ViewsHit Counter Problem?

programmeradmin0浏览0评论

I have decide to use WordPress as a CMS to my 5 moths old website. I have already added all previous posts to my new site ( WordPress ). But now I need to change view counts to previous views counts. I can't find hit_count or views_count from PhpMyAdmin database. How to change views count number manually on WordPress? Please help.

function.php

<?php
// function to display number of posts.
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 to 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);
    }
}

// Add it to a column in WP-Admin - (Optional)
add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2);
function posts_column_views($defaults){
    $defaults['post_views'] = __('Views');
    return $defaults;
}
function posts_custom_column_views($column_name, $id){
 if($column_name === 'post_views'){
        echo getPostViews(get_the_ID());
    }
}
?>

single.php

<?php setPostViews(get_the_ID()); ?>

I have decide to use WordPress as a CMS to my 5 moths old website. I have already added all previous posts to my new site ( WordPress ). But now I need to change view counts to previous views counts. I can't find hit_count or views_count from PhpMyAdmin database. How to change views count number manually on WordPress? Please help.

function.php

<?php
// function to display number of posts.
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 to 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);
    }
}

// Add it to a column in WP-Admin - (Optional)
add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2);
function posts_column_views($defaults){
    $defaults['post_views'] = __('Views');
    return $defaults;
}
function posts_custom_column_views($column_name, $id){
 if($column_name === 'post_views'){
        echo getPostViews(get_the_ID());
    }
}
?>

single.php

<?php setPostViews(get_the_ID()); ?>
Share Improve this question asked Jun 29, 2015 at 9:05 NilohnNilohn 51 silver badge4 bronze badges 3
  • your setPostViews(get_the_ID()); function will update your view by 1 each time it runs. For you to set a views manually you need to create a new function to do so. Your existing functions don't have that feature. – Karun Commented Jun 29, 2015 at 9:19
  • please can I have the function code? I'm new to WordPress. – Nilohn Commented Jun 29, 2015 at 9:26
  • Check the answer below. – Karun Commented Jun 29, 2015 at 9:29
Add a comment  | 

1 Answer 1

Reset to default 2

Use the following functionto set views manually

function setPostViewsManually($postID, $viewCount) {
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    update_post_meta($postID, $count_key, $viewCount);
}

You can run this code by

<?php setPostViewsManually(get_the_ID(), 1234); ?>

The above code will set the view to '1234' for the current post. Run this function carefully else your new views will always be '1234' because this function will keep running every time.

Just use it once and remove the code.

发布评论

评论列表(0)

  1. 暂无评论