워드프레스에는 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
를 변경했다.