WordPress 템플릿 계층 구조 소개

게시 됨: 2019-12-11

WordPress 사용자가 일생에 한 번 쯤 묻는 주요 질문 중 하나는 다음과 같습니다. WordPress 테마는 우리가 보고 있는 콘텐츠에 따라 어떻게 다른 페이지를 표시합니까?

질문은 완전히 합법적이라는 것 외에도 매우 흥미 롭습니다. WordPress는 렌더링하려는 콘텐츠를 식별하고 유형에 따라 하나의 템플릿 또는 다른 템플릿을 사용할 수 있습니다. WordPress 테마는 동적 요소에 대한 일부 JavaScript와 스타일 및 색상에 대한 CSS가 포함된 각 콘텐츠 유형에 대한 특정 템플릿 집합에 불과합니다.

완벽하지만… WordPress 템플릿은 실제로 어떻게 작동합니까? 이것이 이 포스트 전체에서 단계별로 보게 될 것입니다.

시작하기 전에 이 질문에 대한 답이 담긴 사진을 보여드리겠습니다.

WordPress 템플릿 계층
WordPress 템플릿 계층.

이것은 WordPress 템플릿 계층 구조입니다. 공식 문서인 WordPress Codex에서 이에 대한 모든 정보를 찾을 수 있습니다. 이 멋진 웹사이트에서 이 계층 구조와 상호 작용할 수도 있습니다.

기본적으로 WordPress는 템플릿 계층을 사용하여 내용을 렌더링합니다. 즉, WordPress는 특정 PHP 파일에 대해 활성화된 테마 내에서 검색합니다. 존재하는 경우 WordPress는 템플릿이라고 하는 해당 파일을 사용하여 콘텐츠를 렌더링합니다. 그렇지 않은 경우 WordPress는 계층 구조 내에서 다음으로 가장 일반적인 템플릿을 찾습니다. 존재하는 경우 WordPress에서 사용합니다. 그렇지 않으면 WordPress는 계층 구조에서 다음 템플릿을 찾습니다... 등등. WordPress가 테마에서 특정 템플릿 파일을 찾을 수 없는 경우 모든 템플릿 중 가장 일반적인 기본 index.php 파일을 사용합니다.

이제 가장 일반적인 WordPress 콘텐츠의 템플릿 계층 구조 내에서 더 자세히 살펴보겠습니다.

페이지 템플릿

WordPress가 페이지 및 간단한 콘텐츠 유형을 렌더링하는 데 사용하는 템플릿을 살펴보겠습니다.

게시물 및 맞춤 게시물 유형

WordPress는 블로그 게시물 또는 사용자 정의 게시물 유형을 렌더링하기 위해 테마에서 다음 PHP 파일을 확인합니다.

  1. single-{post-type}-{slug}.php : 특정 게시물 또는 특정 게시물 유형에 대한 특정 템플릿을 원하는 경우 테마에 이 PHP 파일을 생성해야 합니다. 그 이름에는 게시물 유형 이름( {post-type} )이 포함되며, 이는 게시물 또는 기타( WooCommerce를 사용하는 경우 product )일 수 있습니다. 그리고 슬러그나 퍼머링크도 입력하고 템플릿 이름으로 원하는 대로 불러야 합니다. 예를 들어 이 게시물에 특정 템플릿을 사용하려면 single-post-introduction-to-the-wordpress-template-hierarchy.php 파일을 만들어야 합니다.
  2. single-{post-type}.php : 특정 게시물 유형(모든 게시물 또는 모든 제품)의 모든 콘텐츠에 영향을 미치려면 이 템플릿을 사용합니다. 이름에는 게시물 유형의 이름만 포함됩니다.
  3. single.php : WordPress는 이 템플릿을 사용하여 단일 콘텐츠(특정 게시물, 특정 제품 등)를 렌더링합니다.
  4. singular.php : 이것은 모든 종류의 단일 콘텐츠를 렌더링하는 또 다른 최상위 템플릿입니다.
  5. index.php : 위의 항목이 없는 경우 WordPress는 이 일반 템플릿을 사용하여 콘텐츠를 렌더링합니다.

WordPress 테마 디렉토리에는 원하는 대로 사용할 수 있는 수천 개의 WordPress 테마 예제가 있습니다. 하나를 다운로드하고 학습 연습으로 PHP 파일을 검사하고 방금 제시한 템플릿을 식별하는 것이 좋습니다.

이렇게 하면 WordPress 템플릿의 계층 구조 내에서 어떤 템플릿을 사용하는지 이해하고 이러한 템플릿 각각에 어떤 콘텐츠가 있는지 확인할 수 있습니다. 의심할 여지 없이 WordPress 테마에 대해 배우고 싶다면 이것은 필수 사항입니다. 게다가 무료입니다!

일반 페이지

게시물 및 기타 게시물 유형과 마찬가지로 WordPress는 템플릿 계층을 사용하여 페이지를 렌더링합니다.

  1. 선택한 템플릿: 페이지를 편집할 때 페이지 속성 상자에서 특정 템플릿을 선택하면 항상 다른 템플릿보다 우선합니다. 여기에서 사용자 지정 템플릿을 만드는 방법을 배울 수 있습니다.
  2. page-{slug}.php : 특정 페이지가 자체 템플릿을 가지도록 하려면 이름에 페이지의 슬러그가 포함된 PHP 파일에 해당 템플릿을 만듭니다.
  3. page-{id}.php : 템플릿이 적용된 WordPress 페이지 ID를 직접 사용할 수도 있습니다.
  4. page.php : 이 템플릿은 계층 구조의 이전 템플릿 중 하나가 이미 적용된 경우를 제외하고 모든 WordPress 페이지에 적용됩니다.
  5. singular.php : 단일 템플릿은 모든 페이지, 게시물, 제품 등에 대한 기본 템플릿입니다. WordPress의 대부분의 테마에는 이미 page.php 템플릿이 포함되어 있으므로 이 템플릿은 거의 적용되지 않습니다.
  6. index.php : 항상 그렇듯이 이것은 WordPress의 기본 대체 템플릿입니다.

이제 이전에 다운로드한 테마를 다시 확인하십시오. 그러면 거기에 나타나는 다른 파일을 조금 더 이해하게 될 것입니다. 확실히 이제 페이지 템플릿에 대한 PHP 파일을 식별할 수 있습니다.

특별 페이지

WordPress에는 콘텐츠를 렌더링하기 위해 특정 템플릿을 사용하는 다른 특수 페이지도 있습니다. 그 예가 웹사이트의 메인 페이지입니다. 기본 페이지는 읽기 하위 메뉴 내의 WordPress 설정 에서 선택되었음을 기억하십시오. 해당 페이지에는 다음 템플릿 계층이 사용됩니다.

  1. front-page.php : WordPress의 메인 페이지로 정적 페이지를 사용하는 경우 먼저 front-page.php 템플릿을 적용하려고 시도합니다.
  2. home.php : 이전 템플릿이 없으면 WordPress가 이 템플릿을 사용하려고 합니다. 이 템플릿은 정적 페이지를 기본 페이지로 선택하는 대신 최신 게시물을 표시하는 옵션을 선택한 경우에도 사용됩니다.
  3. index.php : 다시 기본 템플릿이 항상 존재합니다.

WordPress의 검색 결과를 보여주는 페이지는 자체 템플릿을 가질 수 있는 특별한 페이지이기도 합니다. 이를 위해 search.php 템플릿을 사용할 수 있습니다. 테마에 정의되어 있지 않으면 index.php 가 평소와 같이 사용됩니다.

마지막으로 웹사이트가 404 오류를 반환할 때 표시되는 페이지를 특정 WordPress 템플릿으로 구성할 수도 있습니다. 테마에 404.php 파일을 생성해야 이 템플릿이 적용됩니다.

아카이브용 템플릿

지금까지 단일 콘텐츠에 대한 템플릿을 보았습니다(검색 결과의 경우 제외). 그러나 WordPress에는 페이지에서 둘 이상의 요소를 렌더링할 수 있는 아카이브도 있습니다. 이 경우 WordPress가 사용하는 템플릿 계층 구조를 살펴보겠습니다.

카테고리 및 태그

WordPress는 범주에 대해 다음 템플릿 계층 구조를 사용합니다.

  1. category-{slug}.php : 이 템플릿은 특정 카테고리에 속하는 콘텐츠(일반적으로 게시물) 목록을 렌더링하는 데 사용됩니다. 특히, PHP 파일 이름에 슬러그가 나타나는 카테고리를 렌더링할 때 사용됩니다.
  2. category-{id}.php : 슬러그 대신 카테고리 ID를 사용하고 싶다면 그렇게 할 수도 있습니다. 예를 들어 템플릿을 카테고리 13에 적용하려면 category-13.php 이름으로 템플릿 파일을 생성합니다.
  3. category.php : 모든 카테고리의 기본 템플릿입니다.
  4. archive.php : 이것은 WordPress의 아카이브를 위한 가장 일반적인 템플릿입니다.
  5. index.php : 테마에 더 구체적인 템플릿이 포함되어 있지 않으면 WordPress는 기본적으로 이 파일을 사용합니다.

다음 템플릿 계층이 태그에 사용됩니다.

  1. tag-{slug}.php : 태그가 인터뷰 라고 하는 경우 WordPress에서 해당 태그에 대한 특정 템플릿을 디자인하려는 경우 tag-interview.php 템플릿을 사용할 수 있습니다.
  2. tag-{id}.php : 태그 ID를 통해 템플릿을 정의할 수도 있습니다.
  3. tag.php : category.php 와 마찬가지로 태그에 대한 일반 템플릿입니다.
  4. archive.php : 위의 항목이 하나도 없으면 이 템플릿이 사용됩니다.
  5. index.php : 항상 그렇듯이 이것은 대체 템플릿입니다.

사용자 정의 게시물 유형 및 사용자 정의 분류

사용자 정의 콘텐츠 유형이 있는 경우 archive-{post_type}.php 템플릿을 사용할 수 있습니다. 여기서 post_type 은 사용자 정의 포스트 유형의 슬러그 입니다. 그러면 해당 게시물 유형에 대한 콘텐츠 목록이 렌더링됩니다.

사용자 정의 분류의 경우 WordPress는 다음 템플릿 계층을 사용합니다.

  1. taxonomy-{taxonomy}-{term}.php : WordPress에 videogames 라는 사용자 지정 분류가 있고 해당 분류 내에서 스포츠 라는 용어에 대한 특정 디자인의 템플릿을 만들려면 taxonomy-videogames-sports.php 파일을 만들어야 합니다. taxonomy-videogames-sports.php 에서 해당 템플릿을 사용합니다.
  2. taxonomy-{taxonomy}.php : 모든 분류 용어에 대해 동일한 템플릿을 사용하려면 이전 예에서 taxonomy-videogames.php 를 사용하기만 하면 됩니다.
  3. taxonomy.php : 모든 분류에 대한 기본 템플릿입니다.
  4. archive.php : 위의 템플릿이 하나도 없으면 적용됩니다.
  5. index.php : 다시 기본 폴백 템플릿입니다.

이 모든 설명을 통해 WordPress 테마에서 템플릿을 만들고 식별하는 데 필요한 모든 것을 이미 갖추고 있어야 합니다.

요약하자면

WordPress 템플릿의 계층 구조를 이해하는 것은 테마를 이해하고 자신만의 테마를 개발할 수 있는 열쇠입니다. 이것을 살펴보고 WordPress에서 사용하는 테마의 PHP 코드를 수정하기 시작할 때 자신감을 얻는 방법을 아는 것은 결코 나쁘지 않습니다.

몇 가지 다른 템플릿이 있지만 덜 자주 사용됩니다. 어쨌든 항상 WordPress Codex 문서를 확인하러 갈 수 있다는 것을 기억하십시오. 여기에서 설명하지 않은 모든 것을 찾을 수 있습니다.

이 모든 것에 대해 어떻게 생각하세요? 여전히 WordPress 콘텐츠에 템플릿을 사용하고 있습니까, 아니면 이미 모든 디자인을 블록으로 구축하고 있습니까? 게시물 끝에 도달했다면 아래에 댓글을 남겨주세요. WordPress 템플릿을 어떻게 사용하는지 알고 싶습니다!

Unsplash 에서 Edvard Alexander Rlvaag 추천 이미지 .