The incomplete Codex about this, says very simply:

rewind_posts():
Rewind the loop posts.

As per this WPSE thread, with Eugene Manuilov’s answer, I got:

<?php
// fetch first post from the loop
the_post();

// get post type
$post_type = get_post_type(); 

// rewind the loop posts
rewind_posts();
?>

With Ian Stewart’s theme development tutorial, I found rewind_posts()‘s use in archive.php, category.php, tag.php, author.php:

<?php the_post(); ?>
<!-- echo page title -->
<?php rewind_posts(); ?>
<?php while ( have_posts() ) : the_post(); ?>
   <!-- echo content -->
<?php endwhile; ?>

But in TwentyThirteen theme we can’t see something like this, but a simple WordPress loop with conditional:

<?php if ( have_posts() ) : ?>
<!-- echo page title -->
<?php while ( have_posts() ) : the_post(); ?>
   <!-- echo content -->
<?php endwhile; ?>
<?php endif; ?>

So, I just want to know, while I have the WordPress loop to use, and that works with pagination also, then where do I need to REWIND THE LOOP, and why?

EDIT

Ok, after the first answer, I got a very good article describing the 3 Query-reset functions in WordPress:

» 3 Ways to Reset the WordPress Loop by Jeff Starr – DigWP.com

I hope with this the answer can be a lot more educative than currently what we got.

2 s
2

It generally the clears the current loop

// main loop
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; endif; ?>

// rewind
<?php rewind_posts(); ?>

// new loop
<?php while (have_posts()) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; ?>

Here it clears the main loop and start with the new loop

Reference: http://codex.wordpress.org/Function_Reference/rewind_posts

Tags:

Leave a Reply

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