1. Home
  2. 테마 개발
  3. 테마의 기본
  4. 테마 / 템플릿 구조

테마 / 템플릿 구조

 

Theme & Template #1. 스터디 1주차 (2016.10.21) . 추가

■ 워드프레스의 출력 과정

Cap 2016-10-29 20-59-37-675

워드프레스는 요청, 분석, 출력 단계를 거쳐 컨텐츠를 표시하게 된다. ( 플러그인을 통해 각 단계에 개입할 수도 있음 )

  1. 요청 단계 : url을 통한 결과값 표시, 위젯에서 특정 목록을 출력하는 커스텀 쿼리 이용, api를 통한 외부 데이터 소통
    (ex) 특정 url 링크를 메뉴로 만들어 미리 결과값을 준비시킴 )
  2. 분석 단계 : 현재 페이지가 어떤 페이지인가를 체크하여 컨텐츠 표시
    (비교 구문에 활용할 수 있는 태그 비교 값을 제공해 줌 > Conditional Tags )
  3. 출력 단계 : 테마의 탬플릿 구조에 의한 표시 단계
    (탬플릿 우선 순위 > Template Hierarchy 활용 = 가장 접근이 쉬운 방법!!!)

Template Hierarchy  (https://wphierarchy.com/)

탬플릿 우선순위

활용 예: 

  • 특정 카테고리 묶음 상단에 다른 컨텐츠를 노출하고 싶다   (ex. 카테고리 : test)
    category.php를 복사하여  category-test.php 를 만들고 컨텐츠 표시 부분 상단에 내가 원하는 요소를 추가
    해당 카테고리 묶음이 화면에 표시될 때 이 탬플릿 파일이 자동으로 표시 됨
  • 회사 소개 페이지에 php 코드를 넣어야 하는데…  
    어드민에서 페이지를 생성 후 컨텐츠 입력 저장 > 페이지의 id 또는 슬러그(영문!)이 생성
    page.php 파일을 복사하여 page-88.php  (ex. 88번 아이디를 가진 페이지) 를 만들고 이 곳에 필요한 php 코드를 추가
  • 사이트 주소를 입력 시 전면 페이지로 이벤트를 노출하고 싶다 
    front-page.php 라는 파일을 만들어서 이 곳에 이벤트 페이지를 구성  (이벤트 종료 후 파일만 삭제 또는 이름만 변경)
    도메인 입력 시 가장 먼저 이 페이지를 인식하여 홈페이지 화면이 표시 됨
  • 공지사항이라는 글 형식은 게시판 형태로 표시를 하고싶다. (ex. 새로운 글 형식. custom post type : notice)
    archive.php 를 복사하여  archive-notice.php를 만들고 목록 표시를 테이블 구조의 게시판 형태로 꾸민다
    상세 페이지 또한 single.php 를 복사하여 single-notice.php를 만들고 디자인 및 구조에 맞게 컨텐츠를 표시한다.

※ 탬플릿 우선순위는 워드프레스의 기본 구조이기 때문에 모든 테마에서 이용을 할 수 있습니다!!!

How can we help?