Creating a Simple WP Post Stats Plugin – with Code Examples

Reading time: 3 minutes.

Creating a WordPress post stats plugin is a great way to add custom functionality to your website. This comprehensive guide, complete with code examples, will walk you through the process of developing a simple WordPress post stats plugin.



WordPress plugins extend the functionality of your WordPress website. A post stats plugin can provide valuable insights into how many times a post has been viewed, which can be useful for content creators and website administrators.

Step 1: Setting Up Your Plugin

  1. Create a Plugin Folder: In your WordPress directory, navigate to wp-content/plugins and create a new folder, e.g., simple-post-stats.
  2. Create the Main Plugin File: Inside this folder, create a PHP file with the same name, e.g., simple-post-stats.php.
  3. Add Plugin Header Information: Open the PHP file and add the following header:
   Plugin Name: Simple Post Stats
   Description: A simple plugin to track post views.
   Version: 1.0
   Author: Your Name

Step 2: Writing the Core Functionality

  1. Track Post Views:
  • Increment the view count every time a post is accessed.
  • Use a custom field to store the view count. Add this code to your plugin file:
   function sps_track_views($post_id) {
       if (!is_single()) return;
       if (empty($post_id)) {
           global $post;
           $post_id = $post->ID;
       $views = get_post_meta($post_id, 'sps_views', true);
       if ($views == '') {
           update_post_meta($post_id, 'sps_views', '1');
       } else {
           $views_no = intval($views);
           update_post_meta($post_id, 'sps_views', ++$views_no);
   add_action('wp_head', 'sps_track_views');
  1. Display View Count:
  • Create a function to retrieve and display the view count. Insert this function:
   function sps_get_view_count($post_id) {
       $views = get_post_meta($post_id, 'sps_views', true);
       return ($views == '') ? 0 : $views;

Step 3: Creating a Shortcode to Display Views

  1. Add a Shortcode:
  • This allows users to display the view count anywhere on the post. Add this code:
   function sps_views_shortcode() {
       global $post;
       return sps_get_view_count($post->ID);
   add_shortcode('post_views', 'sps_views_shortcode');

Usage in posts: [post_views]

Step 4: Adding an Admin Dashboard Widget

  1. Create a Dashboard Widget:
  • Display the top 5 most viewed posts in the admin dashboard. Add this code:
   function sps_add_dashboard_widget() {
       wp_add_dashboard_widget('sps_dashboard_widget', 'Top 5 Viewed Posts', 'sps_dashboard_widget_function');
   add_action('wp_dashboard_setup', 'sps_add_dashboard_widget');

   function sps_dashboard_widget_function() {
       $args = array(
           'posts_per_page' => 5,
           'meta_key' => 'sps_views',
           'orderby' => 'meta_value_num',
           'order' => 'DESC'
       $query = new WP_Query($args);
       if ($query->have_posts()) {
           echo '<ul>';
           while ($query->have_posts()) {
               echo '<li>' . get_the_title() . ' - Views: ' . sps_get_view_count(get_the_ID()) . '</li>';
           echo '</ul>';
       } else {
           echo 'No posts found';

Step 5: Activation and Deactivation Hooks

  1. Add Activation Hook:
  • This ensures that the plugin sets up necessary components when activated. Add this code:
   function sps_activate() {
       global $wpdb;
       // Perform tasks on activation, if necessary.
   register_activation_hook(__FILE__, 'sps_activate');
  1. Add Deactivation Hook:
  • Clean up any settings or temporary data when the plugin is deactivated. Add this:
   function sps_deactivate() {
       // Perform cleanup tasks on deactivation, if necessary.
   register_deactivation_hook(__FILE__, 'sps_deactivate');

Step 6: Testing Your Plugin

  • Test in a Local Environment: Before deploying the plugin to a live website, test it thoroughly in a local development environment.
  • Check for Conflicts: Ensure your plugin does not conflict with existing plugins or themes.

Step 7: Submission to WordPress Repository (Optional)

  • If you want to share your plugin with the WordPress community, you can submit it to the WordPress Plugin Repository following their guidelines.


Congratulations! You have successfully created a simple WordPress post stats plugin. This plugin provides a basic structure that you can build upon to create more complex features and functionalities.

Additional Resources

This guide provides a starting point for WordPress plugin development. Experimenting and learning more about WordPress’s hooks and API will enable you to create even more powerful and customized plugins.

Leave a Comment

Please note: if you are making a comment to contact me about advertising and placements, read the Advertisers page for instructions. I will not reply to comments about this subject.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top