-
목차
🔍 WP_Query란?
WP_Query는 워드프레스 내 모든 콘텐츠(Post, Page, CPT 등) 를
조건에 맞게 조회할 수 있도록 해주는 클래스입니다.기본적인 글 목록 조회는 물론,
- 특정 메타 필드 값 필터링
- 특정 카테고리/태그 조건 검색
- 가격순, 평점순 정렬
- 복합 조건 필터링
👉 전부 WP_Query로 가능합니다!
✅ WP_Query 기본 구조
php복사편집$args = array( 'post_type' => 'post', 'posts_per_page' => 10, ); $query = new WP_Query($args); if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); the_title(); endwhile; endif; wp_reset_postdata();
🧩 메타쿼리(Meta Query) – 커스텀 필드 값 조건 검색
커스텀 필드(meta_key, meta_value) 를 기준으로
글을 필터링하고 싶을 때 사용합니다.
1. 단일 메타쿼리 예시
php복사편집$args = array( 'post_type' => 'product', 'meta_query' => array( array( 'key' => 'price', 'value' => 50000, 'compare' => '>=', 'type' => 'NUMERIC' ) ) ); $query = new WP_Query($args);📌 compare: 비교 연산자 (=, >, <, LIKE 등)
📌 type: 데이터 타입 (NUMERIC, CHAR, DATE 등)
2. 복합 메타쿼리 (AND/OR 조건)
php복사편집$args = array( 'post_type' => 'product', 'meta_query' => array( 'relation' => 'AND', array( 'key' => 'price', 'value' => 50000, 'compare' => '>=', 'type' => 'NUMERIC' ), array( 'key' => 'stock', 'value' => 1, 'compare' => '>=', 'type' => 'NUMERIC' ) ) );→ 가격이 5만 원 이상, 재고가 1개 이상인 상품만 조회
🧩 텍소노미쿼리(Taxonomy Query) – 카테고리, 태그, 커스텀 분류 검색
카테고리(category), 태그(post_tag),
**커스텀 분류법(custom taxonomy)**에 따라 포스트를 필터링합니다.
텍소노미쿼리 기본 예시
php복사편집$args = array( 'post_type' => 'portfolio', 'tax_query' => array( array( 'taxonomy' => 'portfolio_category', 'field' => 'slug', 'terms' => 'branding', ) ) );→ portfolio_category 분류 중, branding 슬러그에 속한 포스트만 조회
복합 텍소노미쿼리 (AND/OR)
php복사편집$args = array( 'tax_query' => array( 'relation' => 'AND', array( 'taxonomy' => 'portfolio_category', 'field' => 'slug', 'terms' => 'branding' ), array( 'taxonomy' => 'project_type', 'field' => 'slug', 'terms' => 'web' ) ) );→ 브랜딩 카테고리이면서 웹 프로젝트 타입인 것만 필터링
🧩 커스텀 정렬 (orderby)
1. 메타 값 기준 정렬
php복사편집$args = array( 'post_type' => 'product', 'meta_key' => 'price', 'orderby' => 'meta_value_num', 'order' => 'ASC' );→ price 필드 기준으로 오름차순 정렬
📌 주의: meta_key + meta_value_num 설정 필요
2. 인기순, 평점순 정렬 커스텀
예를 들어, 리뷰 평점(rating) 기준 정렬:
php복사편집$args = array( 'post_type' => 'review', 'meta_key' => 'rating', 'orderby' => 'meta_value_num', 'order' => 'DESC' );→ 평점 높은 순서로 리뷰 리스트 표시
🔥 실전 예제: 가격 + 카테고리 동시 필터링
php복사편집$args = array( 'post_type' => 'product', 'meta_query' => array( array( 'key' => 'price', 'value' => 30000, 'compare' => '>=', 'type' => 'NUMERIC' ) ), 'tax_query' => array( array( 'taxonomy' => 'product_category', 'field' => 'slug', 'terms' => array('shoes', 'accessories'), 'operator' => 'IN' ) ), 'orderby' => 'meta_value_num', 'meta_key' => 'price', 'order' => 'ASC' );→ 가격 3만 원 이상, 'shoes' 또는 'accessories' 카테고리에 속하는 상품을 가격 오름차순 정렬!
✅ WP_Query 고급 활용 체크리스트
항목완료 여부메타쿼리 조건 검색 사용 ✅ / ❌ 텍소노미쿼리 조건 필터링 적용 ✅ / ❌ 커스텀 필드 정렬 설정 완료 ✅ / ❌ 복합 메타 + 텍소 쿼리 조합 테스트 ✅ / ❌ 퍼포먼스 최적화 (쿼리 캐싱, LIMIT 설정) ✅ / ❌ '워드프레스' 카테고리의 다른 글
🚀 CDN이란? (3) 2025.05.01 🌍 왜 다국어 사이트가 필요한가? (0) 2025.05.01 ⚡ 캐싱이란? (3) 2025.04.30 🔐 워드프레스는 기본적으로 공격 표적이 되기 쉽다 (1) 2025.04.29 🚀 헤드리스(Headless) 워드프레스란? (2) 2025.04.28 🔧 구텐베르크(Gutenberg)란? (4) 2025.04.27 🔐 워드프레스 REST API는 기본적으로 "오픈"되어 있다? (1) 2025.04.27 🧠 왜 사용자 권한 시스템이 중요한가? (0) 2025.04.27