programing

Wordpress: 사용자 지정 유형의 모든 게시물을 가져옵니다.

batch 2023. 3. 2. 22:07
반응형

Wordpress: 사용자 지정 유형의 모든 게시물을 가져옵니다.

이상한 문제가 있어요.커스텀 타입의 투고를 모두 취득합니다.여기 제 스니펫이 있습니다.

$query = new WP_Query(array(
    'post_type' => 'custom',
    'post_status' => 'publish'
));


while ($query->have_posts()) {
    $query->the_post();
    $post_id = get_the_ID();
    echo $post_id;
    echo "<br>";
}

wp_reset_query();

이렇게 하면 6개만 얻을 수 있고 데이터베이스에는 해당 기준에 일치하는 레코드가 50개 이상 있습니다.제가 어디가 잘못됐는지 말씀해 주실 수 있나요?

감사합니다!

'posts_per_page' => -1,

이를 인수의 WP_QUERY 배열에 추가하면 이 커스텀 투고 유형의 모든 투고가 반환됩니다.

커스텀 타입의 투고를 모두 취득합니다.get_posts:

$posts = get_posts([
  'post_type' => 'custom',
  'post_status' => 'publish',
  'numberposts' => -1
  // 'order'    => 'ASC'
]);

반환되는 투고의 수는 settings > reading에서 설정됩니다.

쿼리를 반환할 게시물 수를 전달할 수 있습니다.

'posts_per_page' => 'number of posts'

절대 사용하지 마십시오.

'posts_per_page' => -1

SQL 조회 속도를 말하는 경우 속도가 느리고 효과적이지 않습니다.따라서 큰 정수를 사용하는 것이 훨씬 좋습니다.

이것은 퍼포먼스상의 위험입니다.10만 개면 어떡해?이로 인해 사이트가 크래시 될 수 있습니다.예를 들어 위젯을 작성할 때 사용자 지정 게시 유형을 모두 가져오려는 경우 상황에 맞는 적절한 상한을 결정합니다.

자세한 내용은 이쪽: https://10up.github.io/Engineering-Best-Practices/php/ # 퍼포먼스

'-1' 대신 정수를 사용하는 것이 좋습니다. 예:

'posts_per_page' => 999999,

언급URL : https://stackoverflow.com/questions/25237430/wordpress-get-all-posts-of-a-custom-type

반응형