자신만의 Wordpress 루프를 만드는 가장 좋은 방법은 무엇입니까?
내장 기능을 사용하여 Wordpress에서 콘텐츠를 출력하는 방법에는 크게 세 가지가 있습니다.WP_Query
다음 중 하나를 선택합니다.
그 둘의 차이점은 무엇입니까? (이해합니다)WP_Query
클래스이고 나머지 2개는 메서드입니다).
서로 간섭하지 않고 같은 페이지에 여러 루프를 배치하는 가장 깨끗한 방법은 무엇일까요?
WP 루프를 프로그래밍하는 방법의 예를 찾고 있습니다.예를 들어 카테고리별로 2개의 게시물 목록 출력, 첨부 파일, 메타 데이터 등이 있습니다.
이것이 내가 지금까지 발견한 최고의 레퍼런스입니다.
WP_Query와 get_posts를 모두 사용해 보았습니다.사이드바 템플릿 중 하나에서 다음 루프를 사용하여 특정 카테고리의 투고를 표시합니다.이러한 필드에는 카테고리 slug 또는 카테고리 이름이 포함된 'category_to_load' 키가 있습니다.실제 차이는 두 가지 방법의 구현에 있습니다.
get_posts 메서드는 일부 템플릿에서와 같습니다.
<?php
global $post;
$blog_posts = get_posts( $q_string );
foreach( $blog_posts as $post ) :
setup_postdata( $post );
?>
<div class="blog_post">
<div class="title">
<h2>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</h2>
<span class="date"><?php the_time( 'F j, Y' ); ?> by <?php the_author(); ?></span>
</div>
<?php the_excerpt(); ?>
</div>
<?php endforeach;
?>
어디서?WP_Query
실장은 다음과 같습니다.
$blog_posts = new WP_Query( 'showposts=15' );
while ( $blog_posts->have_posts() ) : $blog_posts->the_post(); ?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>" class="blog_post">
<div class="title">
<h2>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a>
</h2>
<span class="date"><?php the_time( 'F jS, Y' ) ?> <!-- by <?php the_author() ?> --></span>
</div>
<div class="entry">
<?php the_content(); ?>
</div>
<p class="postmetadata"><?php the_tags( 'Tags: ', ', ', '<br />' ); ?> Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?> <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?></p>
</div>
<?php endwhile; ?>
주요 차이점은 글로벌 $post 변수를 리셋할 필요가 없으며 WP_query를 사용할 때 각 포스트 오브젝트에서 setup_postdata($post)를 호출하여 포스트 데이터를 설정할 필요도 없다는 것입니다.WP_Query 함수로 lovely have_posts() 함수를 사용할 수도 있습니다.이 함수는 get_posts()에서는 사용할 수 없습니다.
query_posts() 함수는 페이지의 메인루프를 변경하기 때문에 의도하지 않는 한 사용하지 마십시오.문서를 참조해 주세요.따라서 블로그를 표시할 특별한 페이지를 작성하는 경우 query_posts를 호출하면 페이지 루프가 엉망이 될 수 있으므로 WP_Query를 사용해야 합니다.
그게 제 의견입니다.최종적으로는 WP_Query를 선택하는 것이 좋습니다.
-크리스
get_posts에 대한 WP 문서:
get_parames()는 두 함수가 내부적으로 동일한 데이터베이스 쿼리 코드를 사용하기 때문에 query_parames()에서 사용할 수 있는 파라미터도 취할 수 있습니다.
두 함수의 유일한 차이점은 get_posts는 포스트 레코드를 포함한 배열을 반환하고 query_posts는 템플릿 함수(has_posts, the_posts 등)에 의해 취득하기 위해 레코드를 쿼리 오브젝트에 저장합니다.
둘 다 WP_Query 개체를 사용하여 쿼리를 실행합니다.
두 번째 루프의 작성은 Wordpress 문서에서 다룹니다.여기에는 여러 루프의 다른 예에 대한 링크가 몇 개 있습니다.다들 다르게 하지만 다들 결과에 만족하는 것 같아요.
는 WP라고 하는 합니다.$wp_query
주루프용입니다. 이 볼 수 없습니다. 왜냐하면 이 사물은 뒤에 때문입니다.have_posts()
★★★★★★★★★★★★★★★★★」the_post()
that that that that that that that that that 의 포장지일 이다.$wp_query->have_posts()
★★★★★★★★★★★★★★★★★」$wp_query->the_post()
는, 「」를 사용해 .query_posts()
루프가 발생하기 전에
사용할 수 .$wp_query
query_posts()
은 필요에따라 번 할 수 .이 작업은 필요에 따라 여러 번 수행할 수 있습니다.
둘가 있는 $wp_query를 .WP_Query
그리고 물론, 왜냐하면have_posts()
★★★★★★★★★★★★★★★★★」the_post()
$wp_query
할 수 WP_Query
를 사용하는 것이 좋습니다.$your_query_obj->have_posts()
말해
$sidebar= WP_Query('category_name= sidebar');
while( $sidebar->have_posts() ): $sidebar->the_post();
the_title();
the_content();
endwhile;
은 a 우입 a a a 。WP_Query
수도 query_posts()
을 사용하다이 높기 에, 「 」는 「 」입니다.query_posts()
, 「」가 된다」가 변경되었습니다.$wp_query
이치노, 「」를 사용하는 경우는,query_posts()
에서는, 「코드의 사용법」도 사용할 .query_posts()
해당 루프의 적절한 내용을 쿼리하기 위해 메인루프 앞에 표시됩니다.
따라서 이 경우 WP_Query를 사용하면 $wp_query가 유지되므로 메인 루프는 변경되지 않습니다.
시나리오의 입니다.query_posts()
콘텐츠를 문의하는 아름다운 방법입니다.
query_posts('category_name=blog');
while( have_posts() ): the_post();
the_title();
the_content();
endwhile;
언급URL : https://stackoverflow.com/questions/570152/what-is-the-best-method-for-creating-your-own-wordpress-loops
'programing' 카테고리의 다른 글
componentDidMount가 콜백을 참조하기 전에 호출되었습니다. (0) | 2023.03.05 |
---|---|
Oracle 데이터베이스의 모든 기능 및 절차 목록 가져오기 (0) | 2023.03.05 |
ng-model에서의 패스 함수 (0) | 2023.03.05 |
WordPress: 첨부된 이미지의 높이와 폭을 가져옵니다. (0) | 2023.03.05 |
봄철 목록 페이지 전환 (0) | 2023.03.05 |