» » » » Adding Topics View Counter in BBPress

Adding Topics View Counter in BBPress

BBPress is a WordPress Plugin alternative to other Forum Software such as vBulletin, phpBB, Xenforo and Vanilla. Although BBPress did not have as many features like vBulletin and Xenforo, it had a more higher Search Engine Optimize score than both of them plus BBPress is Free to use. BBPress use WordPress Permalink which are Better SEO Friendly, many webmaster are taken interest in using BBPress as their Community Forum Tool.

Today i am going to show you how to add a view counter to BBPress topics.

First, make sure you have BBPress plugin installed, you can download the BBPress WordPress Plugin here.

1. Adding View Counter Function

open your theme functions.php and add this line of code

if( !function_exists('get_wpbbp_post_view') ) :
////////////////////////////////////////////////////////////////////////////////
// get bbpress topic view counter
////////////////////////////////////////////////////////////////////////////////
function get_wpbbp_post_view($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";
    }
    return $count;
}
function set_wpbbp_post_view($postID) {
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if( $count == '' ){
        add_post_meta($postID, $count_key, '1');
    } else {
        $new_count = $count + 1;
        update_post_meta($postID, $count_key, $new_count);
    }
}
endif;

What does this code do?
this is the function to add view counter to topic meta

2. Add Hook Action to Each Topics

Again, below the newly added code, add this line of code

if( !function_exists('add_wpbbp_topic_counter') ) :
////////////////////////////////////////////////////////////////////////////////
// init the view counter in bbpress single topic
////////////////////////////////////////////////////////////////////////////////
function add_wpbbp_topic_counter() {
global $wp_query;
$bbp = bbpress();
$active_topic = $bbp->current_topic_id;
set_wpbbp_post_view( $active_topic );
}
add_action('bbp_template_after_single_topic', 'add_wpbbp_topic_counter');
endif;

3. Applying or use the counter in template

You can use this code in any bbpress loop

<?php echo get_wpbbp_post_view( bbp_get_topic_id() ); ?>

in my case, i want to replace the ‘voice count’ with ‘view count’ in BBPress topics loop.
voice-to-view-count

using a bbpress child template method, i created a bbpress folder name in my theme. Copy and paste loop-single-topic.php from wp-content/plugins/bbpress/templates/default/bbpress/loop-single-topic.php

then edit mytheme/bbpress/loop-single-topic.php line 82+

<?php bbp_topic_voice_count(); ?>

with the new code

<?php echo get_wpbbp_post_view( bbp_get_topic_id() ); ?>

voice counter should had been replace by view counter right now.

Good to go now!

Once everything is done, you should have view counter on all your BBPress topics. Now you can track which topics had the most viewed starting today!

Hope you enjoy the read, more BBPress Tips and Tricks coming this month.

How to Add View Counter to BBPress Topicshttp://www.magpress.com/wp-content/uploads/2013/03/bbpress-screens.jpghttp://www.magpress.com/wp-content/uploads/2013/03/bbpress-screens-170x150.jpgRonald
Tutorial on how to add view counter to WordPress Forum Software BBPress so you can keep track on how many times the topic had been viewed easily

9 Comments Already

  1. hi,
    i like what you did, but is it possible that i can put a limit to the view count? i min i have 5 members inside a group forum. so the view count would only be 5 also. please help.

    Public CommentUserhi, i like what you did, but is it possible that i can put a limit to the view count? i min i have 5 members inside a group forum. so the view count would only be 5 also. please help.
    • yes just store the value in a variable and if its over 5 output 5 instead

      note: if one person views it 5 times each visit is counted so probably not what your looking for

      Public CommentUseryes just store the value in a variable and if its over 5 output 5 instead note: if one person views it 5 times each visit is counted so probably not what your looking for
  2. Hi, I’m Hong.
    I don’t know ‘Add Hook Action to Each Topics’ and ‘Applying or use the counter in template’.
    How to do I?… Could you comment detail instruction ?

    I am a begginer of php(wordpress).

    Public CommentUserHi, I'm Hong. I don't know 'Add Hook Action to Each Topics' and 'Applying or use the counter in template'. How to do I?... Could you comment detail instruction ? I am a begginer of php(wordpress).
  3. Hello & thank you for this fantastic code to add a view counter. I do have one question. I have some threads that have 4 digit view counts, how can I get it to add a comma? Like 1,024 instead of 1024?

    Thanks

    Public CommentUserHello & thank you for this fantastic code to add a view counter. I do have one question. I have some threads that have 4 digit view counts, how can I get it to add a comma? Like 1,024 instead of 1024? Thanks
    • Nevermind, I got it!

      add number_format before the return $count

      like

      return number_format($count);

      Public CommentUserNevermind, I got it! add number_format before the return $count like return number_format($count);
  4. thanks, i have applied for my website and it is bring good affect

    Public CommentUserthanks, i have applied for my website and it is bring good affect
  5. Thank you for this tutorial! Just what I needed! Funny how BBPRess doesn’t have this piece of functionality out of the box..

    Public CommentUserThank you for this tutorial! Just what I needed! Funny how BBPRess doesn't have this piece of functionality out of the box..
  6. Thanks for the tutorial. We’ve been wanting to do on our forum and your simple-to-implement method works flawlessly. We look forward to your upcoming bbpress tips & tricks.

    Dawn

    Public CommentUserThanks for the tutorial. We've been wanting to do on our forum and your simple-to-implement method works flawlessly. We look forward to your upcoming bbpress tips & tricks. Dawn
  7. interesting

    Public CommentUserinteresting

Leave a Reply

Please note: Do not SPAM this comment form, all links will be delete immediately