친절한 우리 고모

친절한 고모의 친절한 이야기

  • 2025. 4. 26.

    by. 친절한 고모

    목차

      🧠 워드프레스는 "조건별로" 템플릿을 불러옵니다

      워드프레스는 방문자가 어떤 페이지를 요청하는지에 따라
      자동으로 해당 페이지에 가장 적합한 템플릿 파일을 선택합니다.

      이 구조를 모르면 의도한 템플릿이 적용되지 않고,
      이상한 레이아웃이 보이거나 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(); 함수로 직접 확인도 가능

      🧠 워드프레스는 &quot;조건별로&quot; 템플릿을 불러옵니다


      ✅ 템플릿 계층 이해 체크리스트

      항목완료 여부
      single/page/archive 등 기본 파일 구분 가능 ✅ / ❌
      CPT 템플릿 분기 (single-{posttype}.php) 이해 ✅ / ❌
      카테고리/태그/커스텀 taxonomy 대응 방법 숙지 ✅ / ❌
      front-page vs home 차이점 명확히 이해 ✅ / ❌
      현재 페이지의 템플릿 경로 디버깅 가능 ✅ / ❌