-
목차
🧠 워드프레스는 "조건별로" 템플릿을 불러옵니다
워드프레스는 방문자가 어떤 페이지를 요청하는지에 따라
자동으로 해당 페이지에 가장 적합한 템플릿 파일을 선택합니다.이 구조를 모르면 의도한 템플릿이 적용되지 않고,
이상한 레이아웃이 보이거나 404 오류가 날 수 있어요.
✅ 기본 원리: 가장 구체적인 템플릿 → 일반 템플릿 순으로 탐색
워드프레스는 다음과 같이 템플릿을 찾습니다:
scss복사편집→ 가장 세부적인 템플릿 → 중간 수준 템플릿 → 기본 템플릿 (fallback)예: 단일 포스트 글 보기 요청 시
txt복사편집single-{post-type}-{slug}.php → single-{post-type}.php → single.php → singular.php → index.php
📚 전체 템플릿 계층 구조 도식 (핵심 요약)
요청 유형템플릿 우선순위단일 포스트 (Post) single-post.php → single.php → singular.php → index.php 페이지 (Page) page-{slug}.php → page-{id}.php → page.php → singular.php → index.php 카테고리 category-{slug}.php → category-{id}.php → category.php → archive.php → index.php 커스텀 포스트 타입(CPT) single-{posttype}.php → single.php → singular.php → index.php 검색 결과 search.php → index.php 404 에러 404.php → index.php 홈 화면 home.php → index.php 프론트 페이지 (설정된 정적 페이지) front-page.php → home.php → page.php → index.php
🧩 실전 예제: 어떤 파일을 써야 할까?
상황 1: 커스텀 포스트 타입 portfolio의 상세 보기 페이지를 만들고 싶다면?
vbnet복사편집→ single-portfolio.php상황 2: 카테고리 “review”를 위한 전용 템플릿을 만들고 싶다면?
복사편집→ category-review.php상황 3: 정적 홈페이지(front page)와 블로그 페이지(home)를 분리하려면?
scss복사편집→ front-page.php (정적 페이지) → home.php (최근 글 목록)
🎯 팁: 조건부 함수와 조합하면 더 강력해짐
템플릿만으로 부족한 경우
is_single(), is_page(), is_category(), is_tax(), is_archive() 등의
조건부 태그로 functions.php 또는 템플릿 내에서 조건 분기 가능!php복사편집if ( is_category('wordpress') ) { echo '<h2>워드프레스 카테고리입니다!</h2>'; }
🛠 추천 툴: 어떤 템플릿이 지금 적용됐는지 확인하고 싶다면?
- 🔍 Query Monitor 플러그인: 현재 페이지에 로딩된 템플릿 파일 경로 확인 가능
- 🧪 echo get_page_template(); 함수로 직접 확인도 가능
✅ 템플릿 계층 이해 체크리스트
항목완료 여부single/page/archive 등 기본 파일 구분 가능 ✅ / ❌ CPT 템플릿 분기 (single-{posttype}.php) 이해 ✅ / ❌ 카테고리/태그/커스텀 taxonomy 대응 방법 숙지 ✅ / ❌ front-page vs home 차이점 명확히 이해 ✅ / ❌ 현재 페이지의 템플릿 경로 디버깅 가능 ✅ / ❌ '워드프레스' 카테고리의 다른 글
🔐 워드프레스 REST API는 기본적으로 "오픈"되어 있다? (1) 2025.04.27 🧠 왜 사용자 권한 시스템이 중요한가? (0) 2025.04.27 🌐 멀티사이트(Multisite)란? (2) 2025.04.26 ⏱ WP-Cron이 뭐지? 서버 크론과는 다르다! (2) 2025.04.26 🧠 왜 직접 플러그인을 만들어야 할까? (2) 2025.04.25 🧠 왜 DB 구조를 이해해야 하는가? (2) 2025.04.25 🔄 AJAX가 필요한 이유 (1) 2025.04.25 🧠 왜 커스텀 포스트 타입(CPT)이 필요한가? (1) 2025.04.25