code

WordPress: Difference between rewind_posts(), wp_reset_postdata() and wp_reset_query()

starcafe 2023. 9. 15. 21:13
반응형

WordPress: Difference between rewind_posts(), wp_reset_postdata() and wp_reset_query()

WordPress 기능의 차이점은 무엇입니까?rewind_posts(),wp_reset_postdata()그리고.wp_reset_query()언제 사용해야 합니까?

이 부분의 코드가 있는 경우single.php:

$query = new WP_Query($some_args);
while ($query->have_posts()) : $query->the_post();
    ...
endwhile;

is this equal to this:

$query = new WP_Query($some_args);
while (have_posts()) : the_post();
    ...
endwhile;

The two statements in your question aren't equal.

사용자 정의 WP_Query에 의해 반환된 게시물을 검색하는 첫 번째 블록에서,$query.

두번째 블록에서$query아무것도 하지 않고 게시물들은 사실 전세계에서 온 것입니다.$wp_query.

Let's look at what each of the three functions you mentioned do.

rewind_posts()- 이렇게 하면 소리가 그대로 나옵니다.루프를 실행한 후에는 이 함수를 사용하여 처음으로 돌아가 동일한 루프를 다시 실행할 수 있습니다.

wp_reset_postdata()- 코드의 첫 번째 블록에서는 사용자 정의 WP_Query를 실행합니다.이렇게 하면 전역이 수정됩니다.$post변수.이 쿼리를 실행한 후에는wp_reset_postdata()전세계를 회복할 것입니다.$post변수를 기본 쿼리의 첫 번째 게시물로 되돌립니다.

wp_reset_query()- 글로벌을 변경할 경우 사용해야 합니다.$wp_query아니면 사용query_posts()(사용하는 것을 제안하지 않습니다.query_posts(). 재설정됩니다.$wp_query원초적으로

Further reading:

http://codex.wordpress.org/Function_Reference/rewind_posts http://codex.wordpress.org/Function_Reference/wp_reset_postdata http://codex.wordpress.org/Function_Reference/wp_reset_query

Rewind post - Rewinds to the beginning of the cycle.It generally the clears the current loop. Example

<? Php  
/ / use the cycle for the first time 
if ( have_posts ( )  ) {  while ( have_posts ( ) ) { the_post ( ) ;  ?> 
    < ! - - display information about the post - - > 
<? php  }  }  ?>


    < ! - - any - anything any code - - >


<? Php  
/ / use the cycle for the second time 
/ / rewind to the beginning of the cycle to once again ispolzvoat heve_posts () 
rewind_posts ( ) ; 
if ( have_posts ( )  ) {  while ( have_posts ( ) ) { the_post ( ) ;  ?> 
    < ! - - display information about the post - - > 
<? php  }  }  ?>

You probably don’t need wp_reset_query(). wp_reset_query() unsets the main $wp_query variable, then resets it to the value of $wp_the_query, and then runs wp_reset_postdata(). Well, if you’re not using query_posts(), then you really shouldn’t be messing with the main $wp_query variable, as wp_reset_query() does.

All you need to do after a custom WP_Query is use wp_reset_postdata(), which resets various global post variables to their original values.

Reference here

ReferenceURL : https://stackoverflow.com/questions/23729847/wordpress-difference-between-rewind-posts-wp-reset-postdata-and-wp-reset-q

반응형