Sometimes, in the index page (home page, category articles, tag articles, author article index... ) Enter the WordPress article loop (Loop) in advance to get some information we want to get, but in WP, a single page will generally only jump into the loop at one time, that is to say, we will learn information from the loop next time At that time, we will get the information of the second log in the loop. In order to solve this embarrassing situation, WordPress has a built-in function, the rewind_posts() function, which is specially used to reset the loop pointer.
Description Description
Rewind the loop posts.
Reset article loop.
Use
This function does not accept variables.
<?php rewind_posts(); ?>
Example
Here we quote lines 15-55 of the author.php file in the WordPress default theme twenty eleven and simplify them.
<?php if ( have_posts() ) : the_post();//进入循环 echo get_the_author() ; //显示文章作者,在循环外使用需指定作者ID rewind_posts();//重置循环 while ( have_posts() ) : the_post(); //循环开始 get_template_part( 'content', get_post_format() );
Summary
Sometimes, some WordPress functions must enter a loop before they can be used, so we have to enter the loop in advance to achieve certain purposes, but if we use a loop here in the following code, the loop will jump to The position of the second article, so we have to use rewind_posts() to reset the loop. The twenty eleven theme just gives a very simple example. When to use it depends on the usage environment of the theme author. Sometimes we need to cycle through articles twice or more on a page, then Changing the function will be more useful.
PS: single_cat_title() function
The single_cat_title() function is rarely used in daily life, but this function will solve many problems for us, such as the directory and tags of the current page. This function is not attached to the WordPress main loop, nor can it be placed in the main loop. used in loops.
Description
Get the categories and tags of the current page.
<?php single_cat_title($prefix,$display); ?>
Example
Here is an excerpt of the code around line 18 of the category.php file in the WordPress 2011 default theme
<?php printf( __( 'Category Archives: %s', 'twentyeleven' ), '<span>' . single_cat_title( '', false ) . '</span>' ); ?>