How to get the Post number in wordpress

I am creating a new wordpress theme for my friend. I want to know how to get the “post number” of a particular post. I don’t want the total count of posts. For example, Post No.1 , Post No. 2 etc., Very similar to page numbers in a book.

The wordpress post ID is generally random and i couldn’t use it.

Read More

any help ?

thanks,
karthik.

EDIT: THIS WORKS.

Okay, so this works. thanks to this. This function will return ‘1’ for ‘first post’, ‘2’ for ‘second post’ and so on..

function Get_Post_Number($postID){
$temp_query = $wp_query;
$postNumberQuery = new WP_Query(array ( 'orderby' => 'date', 'order' => 'ASC', 'post_type' => 'any','posts_per_page' => '-1' ));
$counter = 1;
$postCount = 0;
if($postNumberQuery->have_posts()) :
    while ($postNumberQuery->have_posts()) : $postNumberQuery->the_post();
        if ($postID == get_the_ID()){
            $postCount = $counter;
        } else {
            $counter++;
        }
endwhile; endif;
wp_reset_query();
$wp_query = $temp_query;
return $postCount;

}

you can use this to display the number.

<?php $currentID = get_the_ID(); ?>
<?php $currentNumber = Get_Post_Number($currentID); ?>

<?php echo $currentNumber; ?>

Related posts

Leave a Reply

1 comment

  1. If you are in the loop that displays posts, you can use get_the_ID() to return the post’s id. If you are outside the loop and you have the post in $post, you can do $post->ID.