본문 바로가기
워드프레스/활용 팁

[Wordpress] 워드프레스 템플릿 계층구조 (Template Hierarchy)

by 우림 2015. 9. 16.

워드프레스의 테마 폴더에는 여러 개의 파일이 있지만 사용하는 파일이 상황에 따라서 다릅니다.
사용자가 지정하는 게 아니고 워드프레스가 알아서 지정하는데요.

예를들어, 테마 폴더에 font-page.php 파일이 있으면 워드프레스는 이를 웹페이지 초기 화면으로 나타나게 하고 home.php 파일이 있으면 블로그 글 목록이 나타나게 합니다. 이 파일이 없으면 그 다음 단계인 page.php 파일을 초기 화면으로 사용합니다. 만약 이 파일도 없다면 index.php 파일을 초기화면으로 사용합니다. 이처럼 테마 폴더에 어떤 파일이 있느냐에 따라 사용되는 파일이 달라지는 것을 템플릿 계층구조라고 합니다.

마찬가지로 카테고리 목록을 선택했을 때 category.php 파일을 우선 사용하고 이 파일이 없으면 archive.php를 사용하며 최종적으로 index.php 파일을 사용합니다. 따라서 가장 근본이 되는 파일은 index.php 파일입니다.


다음은 워드프레스 사이트의 코덱스 페이지에서 볼 수 있는 템플릿 계층구조입니다.


더 자세히 보려면 아래 링크를 클릭하세요~

https://developer.wordpress.org/themes/basics/template-hierarchy/
https://developer.wordpress.org/files/2014/10/template-hierarchy.png
http://wphierarchy.com/


코덱스 페이지에는 워드프레스 테마 제작과 관련된 모든 내용이 망라돼 있으며 아주 상세한 설명이 있습니다. 하나의 테마를 만드는데 저렇게 많은 파일들이 다 필요한 건 아니구요. 단순한 디자인의 사이트라면 index.php 파일 하나만으로도 만들 수 있습니다. 사이트가 복잡할수록 파일수가 늘어나겠죠. 그 중에서 어떤 파일이 먼저 나타나게 할 것인지 설계해야 할 것입니다.


페이지의 계층구조는 다음과 같으니 참고하세요.

  • custom template : page-about.php처럼 사용자가 정의한 페이지를 만들면서 Template name을 지정하고, 워드프레스로 페이지를 만들 때 이 템플릿을 지정하면 최우선적으로 사용합니다.
  • page-{slug}.php : 관리자 화면에서 페이지를 만들면 슬러그가 만들어집니다. 이 슬러그를 이용해 템플릿을 만들면 custom template이 없을 때 우선적으로 사용합니다.
  • page-{id}.php : 마찬가지로 관리자 화면에서 페이지를 만들면 아이디가 만들어지는데 이 아이디가 추가된 파잉를 만들면 위의 파일들이 없을 때 우선적으로 사용합니다.
  • page.php : 위 파일들이 없을 때 우선적으로 사용하는 페이지입니다.
  • index.php : 위 파일들이 없을 때 사용하는 페이지가 됩니다.


예를 들어, 파일 이름이 front-page.php이고 내용을 "초기화면"이라고 작성한 파일을 생성해 기본 테마인 twentyfifteen 폴더에 저장한 뒤 사이트 초기 화면에서 보면 "초기화면"이라는 글자만 나타난 화면을 볼 수 있습니다.

이처럼 템플릿 계층구조는 워드프레스가 파일의 계층구조를 정해놓고 순서에 따라 나타나게 하고 있습니다.

이 front-page에 다른 글로 이동할 수 있는 글 목록이나 이미지를 배치해 원하는 내용의 웹 페이지를 만들면 사이트 전체의 관문 역할을 하는 홈페이지가 됩니다.

댓글