상현에 하루하루
개발자의 하루

워드프레스 루프쿼리 변경하기

( 업데이트: )

워드프레스에는 Archive, Single, home 등등 페이지에서 3가지 루프쿼리가 이루어진다. 그중에 secondary Loops에 WP_Query를 변경하는 행동으로 쿼리의 일부를 바꿀 수 있다.

워드프레스 쿼리에 대해서 더 자세히 알고싶다면 워드프레스 쿼리 기능을 이해하기 | 개발자 상현에 하루하루 살펴보는 것을 추천한다.

쿼리 기능을 읽어봤다면 어떤 방법으로 쿼리를 변경해야할까?

Quest: 여러가지의 커스텀 포스트 타입 아카이브 만들기

만약의 insight, life, story라는 포스트타입을 만들고 모든 포스트타입의 글들을 모아 볼 수 있는 아카이브가 필요하다 할때 어떻게 만들 것인가?

  • Archive 페이지
  • Pagination

워드프레스의 기본 아카이브 페이지처럼 2가지가 되어야한다.

new WP_Query로 쿼리 변경하기

wp_reset_postdata();
$GLOBALS['wp_query'] = new WP_Query( array ( 
  'post_type' => ['insight','life','tb-story'],
  'post_status' => 'publish',
  'posts_per_page' => 15,
  'tax_query' => array(
      array(
        'taxonomy' => 'collection',
        'operator' => 'EXISTS'
      )
  ),
  'paged' => ( get_query_var('paged') ) ? get_query_var( 'paged' ) : 1,
));Code language: PHP (php)

위처럼 안전하게 wp_query를 변경했다.