WordPress.org (한국어)
페이지 템플릿은 특정 페이지 또는 페이지 그룹에 적용 할 수있는 특정 유형의 템플릿 파일입니다.
참고 : WordPress 4.7부터 페이지 템플릿은 모든 게시물 유형을 지원합니다. 페이지 템플릿을 특정 게시물 유형으로 설정하는 방법에 대한 자세한 내용은 아래 예를 참조하세요.
페이지 템플릿은 특정 유형의 템플릿 파일이므로 다음은 페이지 템플릿의 몇 가지 구별되는 기능입니다.
- 페이지 템플릿은 페이지의 모양과 느낌을 변경하는 데 사용됩니다.
- 페이지 템플릿은 단일 페이지, 페이지 섹션 또는 페이지 클래스에 적용 할 수 있습니다. .
- 페이지 템플릿은 일반적으로 개별 페이지 또는 페이지 그룹을 타겟팅하는 높은 수준의 특이성을 가지고 있습니다. 예를 들어
page-about.php
라는 페이지 템플릿은page.php
또는index.php
슬러그가 “about”인 페이지에만 영향을 미치기 때문입니다. - 페이지 템플릿에 템플릿 이름이있는 경우 페이지를 편집하는 WordPress 사용자는 페이지를 렌더링하는 데 사용할 템플릿을 제어 할 수 있습니다.
페이지 템플릿 사용 # 페이지 템플릿 사용
페이지 템플릿은 게시물, 뉴스 업데이트, 캘린더 이벤트, 미디어 파일과 같은 페이지에 사이트의 동적 콘텐츠를 표시합니다. , 등. 귀하의 홈페이지가 사이트의 다른 부분과는 완전히 다른 특정 방식으로 보이기를 원할 수도 있습니다. 또는 페이지의 한 부분에 게시물로 연결되는 추천 이미지를 표시 할 수도 있습니다. 다른 곳에 최신 게시물 목록이 있고 사용자 지정 탐색을 사용합니다. 페이지 템플릿을 사용하여 이러한 작업을 수행 할 수 있습니다.
이 섹션에서는 사용자가 선택할 수있는 페이지 템플릿을 구축하는 방법을 보여줍니다. 관리 화면.
예를 들어 다음에 대한 페이지 템플릿을 만들 수 있습니다.
- 전각, 1 열
- 사이드 바가있는 2 열 오른쪽
- 왼쪽에 사이드 바가있는 2 열
- 3 열
상단
페이지 템플릿 템플릿 계층 내에서 템플릿 계층 내 # 페이지 템플릿
사용자가 웹 사이트를 탐색 할 때 WordPress는 해당 페이지를 렌더링하는 데 사용할 템플릿을 선택합니다. 템플릿 계층 구조에서 앞서 배웠 듯이 WordPress는 다음 순서로 템플릿 파일을 찾습니다.
- 페이지 템플릿 — 페이지에 사용자 지정 템플릿이 할당되어있는 경우 WordPress는 해당 파일을 찾고 발견하면 , 사용합니다.
-
page-{slug}.php
— 사용자 정의 템플릿이 할당되지 않은 경우 WordPress는 페이지의 슬러그가 포함 된 특수 템플릿을 찾아 사용합니다. -
page-{id}.php
— 페이지의 슬러그가 포함 된 특수 템플릿을 찾을 수없는 경우 WordPress는 페이지 ID로 명명 된 특수 템플릿을 찾아 사용합니다. -
page.php
— 페이지 ID가 포함 된 특수 템플릿을 찾을 수없는 경우 WordPress는 테마의 기본 페이지 템플릿을 찾아 사용합니다. -
singular.php
—page.php
를 찾을 수없는 경우 WordPress는 게시물 유형에 관계없이 단일 게시물에 사용 된 테마 템플릿을 찾아 사용합니다. -
index.php
— 구체적이지 않은 경우 페이지 템플릿이 할당되거나 발견되면 WordPress는 기본적으로 테마의 색인 파일을 사용하여 페이지를 렌더링합니다.
알림 : . 페이지 포스트 유형에 사용되지 않고 아카이브의 여러 페이지를 표시하는 데 사용됩니다.
Top
페이지 템플릿 용도 & 사용자 제어 # 페이지 템플릿 목적 & 사용자 제어
테마에 대한 사용자 정의 페이지 템플릿을 만들 계획이라면 몇 가지 사항을 결정해야합니다. 계속하기 전에 :
- 페이지 템플릿이 하나의 특정 페이지를위한 것인지 임의의 페이지를위한 것인지 여부. 및
- 템플릿에 사용할 수있는 사용자 컨트롤 유형
템플릿 이름이있는 모든 페이지 템플릿은 사용자가 만들거나 편집 할 때 선택할 수 있습니다. 페이지. 사용 가능한 템플릿 목록은 페이지 > 새 > 속성 > 템플릿 추가에서 찾을 수 있습니다. . 따라서 WordPress 사용자는 템플릿 이름이있는 모든 페이지 템플릿을 선택할 수 있습니다. 이는 귀하의 의도가 아닐 수 있습니다.
예를 들어 “정보”페이지에 대한 특정 템플릿을 원하는 경우 선택하지 않을 수 있습니다. 모든 페이지에서 전역 적으로 사용할 수 있으므로 해당 페이지 템플릿의 이름을 “템플릿 정보”로 지정하는 것이 적절합니다 (예 : 사용자가 모든 페이지에 적용 할 수 있음). 대신 일회용 템플릿을 생성하면 사용자가 “정보”페이지를 방문 할 때마다 WordPress에서 적절한 템플릿으로 페이지를 렌더링합니다.
반대로 많은 테마에는 페이지 당 몇 개의 열을 선택할 수있는 기능이 포함되어 있습니다. 이러한 각 옵션은 전역 적으로 사용할 수있는 페이지 템플릿입니다.WordPress 사용자에게이 전역 옵션을 제공하려면 각 옵션에 대한 페이지 템플릿을 만들고 각 템플릿 이름을 지정해야합니다.
템플릿이 전역 용도인지 단일 용도인지 여부를 지정하는 방법은 다음과 같습니다. 파일의 이름이 지정되고 파일에 특정 주석이 있습니다.
참고 : 때로는 단일 사용 사례로 보이는 경우에도 템플릿을 전역 적으로 사용하는 것이 적절합니다. 출시 할 테마를 만들 때 사용자가 페이지 이름을 지정하는 것을 예측하기 어려울 수 있습니다. 포트폴리오 페이지는 모든 WordPress 사용자가 자신의 포트폴리오에 동일한 이름을 지정하거나 동일한 페이지 ID를 갖는 것은 아니지만 해당 템플릿을 사용하고 싶어 할 수 있으므로 좋은 예입니다.
Top
페이지 템플릿의 파일 구성 # 페이지 템플릿의 파일 구성
테마 파일 구성에서 설명한 것처럼 WordPress는 하위 폴더 페이지 템플릿을 인식합니다. 따라서이 폴더에 전역 페이지 템플릿을 저장하여 정리하는 데 도움이되는 것이 좋습니다.
경고 : 특수 페이지 템플릿 파일 (한 번만 사용하도록 생성됨)은 하위 폴더 또는 하위 테마를 사용하는 경우 상위 테마 폴더에 있습니다.
상단
전역 용 사용자 정의 페이지 템플릿 만들기 # 사용자 정의 페이지 템플릿 만들기 전역 사용
때로는 모든 페이지 또는 여러 페이지에서 전역 적으로 사용할 수있는 템플릿을 원할 것입니다. 일부 개발자는 page_two-columns.php
알림 : 중요! WordPress는 파일을 사이트의 한 페이지에만 적용하기위한 특수 템플릿으로 해석하므로 page-
를 접두사로 사용하지 마세요.
테마 파일 이름 지정 규칙 및 사용할 수없는 파일 이름에 대한 정보는 예약 된 테마 파일 이름을 참조하십시오.
팁 : 새 페이지 템플릿은 page.php
의 복사본을 만들고 새 파일에 고유 한 파일 이름을 지정하는 것입니다. 이렇게하면 다른 페이지의 HTML 구조로 시작하고 필요에 따라 새 파일을 편집 할 수 있습니다.
전역 템플릿을 만들려면 상단에 여는 PHP 주석을 작성합니다. 템플릿의 이름을 나타내는 파일입니다.
<?php /* Template Name: Example Template */ ?>
WordPress 사용자가 페이지를 편집 할 때 이름이 표시되므로 템플릿이 수행하는 작업을 설명하는 이름을 선택합니다. 예를 들어 템플릿의 이름을 홈페이지, 블로그 또는 포트폴리오로 지정할 수 있습니다.
TwentyFourteen 테마의이 예는 전체 너비 페이지라는 페이지 템플릿을 만듭니다.
<?php/*** Template Name: Full Width Page** @package WordPress* @subpackage Twenty_Fourteen* @since Twenty Fourteen 1.0*/
테마 폴더 (예 : page- 템플릿), 관리 대시 보드의 페이지 > 수정 화면으로 이동합니다.
On the right hand side under attributes you"ll see template. This is where users are able to access your global page templates.
Tip: The select list has a maximum width of 250px, so longer names may be cut off.
맨 위
특정 페이지에 대한 사용자 정의 페이지 템플릿 만들기 # 특정 페이지에 대한 사용자 정의 페이지 템플릿 만들기
템플릿 계층 페이지에서 언급했듯이 특정 페이지에 대한 템플릿을 만들 수 있습니다. 특정 페이지에 대한 템플릿을 만들려면 기존 page.php
파일을 복사하고 페이지의 슬러그 또는 ID로 이름을 바꿉니다.
-
page-{slug}.php
-
page-{ID}.php
예 : 정보 페이지에 about슬러그가 있습니다. 활성 테마 폴더에 page-about.php
또는 page-6.php
라는 파일이있는 경우 WordPress에서 자동으로 해당 파일을 찾아 사용합니다. 정보 페이지를 렌더링합니다.
사용하려면 특수 페이지 템플릿이 테마 폴더 (예 : / wp-content / themes / my-theme-name /)에 있어야합니다.
맨 위
특정 게시물 유형에 대한 페이지 템플릿 만들기 # 특정 게시물 유형에 대한 페이지 템플릿 만들기
기본적으로 “페이지”게시물 유형에 대해 사용자 정의 페이지 템플릿을 사용할 수 있습니다.
특정 게시물 유형에 대한 페이지 템플릿을 만들려면 템플릿 이름 아래에 템플릿에서 지원할 게시물 유형이있는 행을 추가하십시오.
예 :
<?php/*Template Name: Full-width layoutTemplate Post Type: post, page, event*/// Page code here...
알림 : 게시물 유형에 페이지 템플릿을 추가하는 기능 “페이지”이외의 게시물 유형은 워드 프레스 4.7에서만 지원됩니다.
글 유형에 대해 하나 이상의 템플릿이 존재하면 백엔드에 게시물 속성메타 상자가 표시됩니다. 페이지 속성또는 기타에 대한 포스트 유형 지원을 추가 할 필요가 없습니다. 게시물 속성라벨은 게시물 유형을 등록 할 때 속성라벨을 사용하여 게시물 유형별로 맞춤 설정할 수 있습니다.
역 호환성 :
테마를 공개적으로 출시하고 싶다고 가정 해 보겠습니다. 포스트 유형 템플릿을 지원합니다. 4.7 이전 버전의 WordPress는 일반 게시물에서만 작동하더라도 템플릿 게시물 유형 헤더를 무시하고 페이지 템플릿 목록에 템플릿을 표시합니다.이를 방지하기 위해 theme_page_templates 필터에 연결하여 목록에서 제외 할 수 있습니다. 예 :
전체 소스 코드 펼치기 전체 소스 코드 접기
그러면 맞춤 게시물을 지원할 수 있습니다. 이전 버전과의 호환성을 유지하면서 WordPress 4.7 이상에서 템플릿을 입력합니다.
theme_page_templates는 실제로 동적 theme _ {$ post_type} _templates 필터입니다. 후크 이름의 동적 부분 인 $ post_type은 템플릿에서 지원하는 게시물 유형을 나타냅니다. 예 : theme_product_templates에 연결하여 제품 게시물 유형에 대한 템플릿 목록을 필터링 할 수 있습니다.
Top
페이지 템플릿에서 조건부 태그 사용 # 페이지 템플릿에서 조건부 태그 사용
테마의 page.php
파일에서 조건부 태그를 사용하여 페이지별로 더 작게 변경할 수 있습니다. 예를 들어 아래 예제 코드는 첫 페이지에 header-home.php
파일을로드하지만 정보 페이지에 다른 파일 (header-about.php
)을로드합니다. 그런 다음 다른 모든 페이지에 기본 header.php
를 적용합니다.
if ( is_front_page() ) :get_header( "home" );elseif ( is_page( "About" ) ) :get_header( "about" );else:get_header();endif;
여기에서 조건부 태그에 대해 자세히 알아볼 수 있습니다.
맨 위
페이지 템플릿 식별 # 페이지 템플릿 식별
템플릿에서 body_class()
함수를 사용하면 WordPress는 게시물 유형 클래스 이름 (iv id = “d5a2d55878)에 대한 body
태그의 클래스를 인쇄합니다. “> ), 페이지 ID (page-id-{ID}
) 및 사용 된 페이지 템플릿입니다. 기본 page.php
의 경우 생성 된 클래스 이름은 page-template-default
:
<body class="page page-id-6 page-template-default">
사용자 정의 페이지 템플릿을 사용할 때 page-template
클래스는 특정 템플릿을 명명하는 클래스와 함께 인쇄하십시오. 예를 들어 사용자 정의 페이지 템플릿 파일의 이름이 다음과 같은 경우 :
<?php/* Template Name: My Custom Page */?gt;
그러면 생성 된 렌더링 된 HTML은 다음과 같습니다.
<body class="page page-id-6 page-template page-template-my-custom-page-php">
body
태그에 적용되는 page-template-my-custom-page-php
클래스.
Top
페이지 템플릿 기능 # 페이지 템플릿 기능
다음 기본 제공 WordPress 기능 및 메서드는 페이지 템플릿 작업에 도움이 될 수 있습니다.
-
get_page_template()
반환 페이지를 렌더링하는 데 사용되는 페이지 템플릿의 경로입니다. -
wp_get_theme()->get_page_templates()
는 현재 활성화 된 테마에 사용할 수있는 모든 맞춤 페이지 템플릿을 반환합니다 (get_page_templates()
는WP_Theme
클래스의 메서드입니다. -
is_page_template()
는 다음에 따라 true 또는 false를 반환합니다. 페이지를 렌더링하는 데 사용자 정의 페이지 템플릿이 사용되었는지 여부. -
get_page_template_slug()
r 사용자 정의 필드_wp_page_template
의 값을 반환합니다 (값이 비어 있거나 “기본값”인 경우null
). 페이지에 사용자 정의가 할당 된 경우 템플릿에서 해당 템플릿의 파일 이름은"_wp_page_template"
(wp_postmeta
데이터베이스 테이블에 있음)라는 사용자 정의 필드의 값으로 저장됩니다. (밑줄로 시작하는 사용자 정의 필드는 편집 화면의 사용자 정의 필드 모듈에 표시되지 않습니다.)