WordPress Code Snippets

A fresh mix of code snippets and tutorials

Display a number for each post

21

To display an auto-incrementing number for each post, add the following snippet to your theme’s functions.php file:

function updateNumbers() {
	global $wpdb;
	$querystr = "SELECT $wpdb->posts.* FROM $wpdb->posts WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->posts.post_type = 'post' ";
	$pageposts = $wpdb->get_results($querystr, OBJECT);
	$counts = 0 ;
	if ($pageposts):
		foreach ($pageposts as $post):
			setup_postdata($post);
			$counts++;
			add_post_meta($post->ID, 'incr_number', $counts, true);
			update_post_meta($post->ID, 'incr_number', $counts);
		endforeach;
	endif;
}
add_action ('publish_post', 'updateNumbers');
add_action ('deleted_post', 'updateNumbers');
add_action ('edit_post', 'updateNumbers');

Then display the number for each post by including this tag anywhere in the WordPress loop:

<?php echo get_post_meta($post->ID,'incr_number',true); ?>

You can see this technique in action here at WP-Mix, just visit the home page and look at the numbered footer for each post.

Source

Learn more

WordPress Themes In Depth


Show Support

Like our new Facebook Page to show support!