10 WordPress Snippets To Get Your Blog Stats

If you have a blog then most likely you would like to know the stats for your blog, such as number of posts, pages, comments, categories, tags etc. All this data is recorded on the WordPress database you just need to know a few queries to access this data.

Displaying this sort of data will be important to any potential advertisers for your blog. If someone is going to pay for ad space then they will be interested in a few small details about the current state of your blog.

Below are 10 snippets which you can add to your functions.php page to get different stats for your blog.

Get Amount Of Users

Display the amount of user's your blog has.

function user_count() {
     global $wpdb;
     return (int) $wpdb->get_var('SELECT COUNT(*) FROM ' . $wpdb->users);

Display Published Post Count

This will get the amount of posts you current have published.

function pu_post_count() {
	global $wpdb;
	return (int) $wpdb->get_var('SELECT COUNT(*) FROM ' . $wpdb->posts . ' WHERE post_status = "publish" AND post_type = "post"');

Page Count

Display the amount of pages your blog currently has.

function pu_page_count() {
	global $wpdb;
	return (int) $wpdb->get_var('SELECT COUNT(*) FROM ' . $wpdb->posts . ' WHERE post_status = "publish" AND post_type = "page"');

Comment Count

Count the amount of comments your blog currently has.

function pu_comment_count() {
	global $wpdb;
	return (int) $wpdb->get_var('SELECT COUNT(*) FROM ' . $wpdb->comments . ' WHERE comment_approved = "1"');

Trackback Count

Count the amount of trackbacks your blog currently has.

function pu_trackback_count() {
	global $wpdb;
	return (int) $wpdb->get_var('SELECT COUNT(*) FROM ' . $wpdb->comments . ' WHERE comment_type = "pingback"');

Average Comments Per Post

Get the average number of comments each post should get.

function pu_avg_comments_per_post() {
	$comment_count = $this->comment_count();
	$post_count    = $this->post_count();
	if ($post_count) {
		return round($comment_count/$post_count);
	} else {
		return 0;

Category Count

Get the amount of categories your blog has.

function pu_category_count() {		
	return count(get_all_category_ids());

Tag Count

Get the total number of tags your blog has.

function pu_tag_count() {
	global $wpdb;
	return (int) $wpdb->get_var('SELECT COUNT(*) FROM ' . $wpdb->terms . ' INNER JOIN ' . $wpdb->term_taxonomy . ' ON ' . $wpdb->terms . '.term_id = ' . $wpdb->term_taxonomy . '.term_id WHERE ' . $wpdb->term_taxonomy . '.taxonomy = "post_tag"');

Link Count

Get the total number of links to your blog.

function pu_link_count() {
	global $wpdb;
	return (int) $wpdb->get_var('SELECT COUNT(*) FROM ' . $wpdb->links . ' WHERE link_visible = "Y"');

Turn These Into Shortcodes

If you add the above snippets to your functions.php page then you can use any of them to create a shortcode to use in your blog posts.

In this example we will use the user_count() function to create a shortcode by adding the following in your functions.php page.

add_shortcode('number_of_users', 'pu_user_count');
Back to top ^

Join Paulund

  • Get access to 100s of premium tutorials and downloadable content
  • Members content consists of Premium WordPress plugins, CSS packages, jQuery packages, tutorial demo files and templates for 100s of web development tutorials
  • In-depth development tutorials
  • Priority tutorial requests
  • Priority email development support
  • No ads

Here at Paulund you'll find Web Development tutorials and snippets focusing mainly on PHP, WordPress and CSS. Members will get access to premium tutorials that go into more detail about development with these languages. You will also get access to downloadable premium content based on the tutorial.

Join Paulund

Leave a Reply

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