여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. 워드프레스 테마 제작 – 04편 – page.php, single.php 만들기
워드프레스 테마 제작 – 04편 – page.php, single.php 만들기
3년전 작성
3년전 수정

워드프레스 테마를 만들 때 기본이 되는 파일들 중 page.php, single.php 파일을 만들어보자.
워드프레스 page.php single.php
이제 포스트 글을 표현해주고, 워드프레스 페이지 표현해주는 템플릿을 만들어보자.

포스트의 글이나 페이지를 표현하는곳은 특정 페이지나 특정 포스트의 글만 표현해주는 템플릿도 개별적으로 만들어서 표현할 수 있다.

테마 핸드북에 나와있는 루프 내의 게시물에 액세스할 수 있는 함수
next_post_link()
:
다음 포스트에 대한 링크.
previous_post_link()
:
이전 포스트에 대한 링크.
the_category()
:
보고있는 포스트 또는 페이지의 카테고리 또는 범주.
the_author()
:
포스트 또는 페이지의 저자.
the_content()
:
포스트 또는 페이지의 주요 콘텐츠.
the_excerpt()
:
포스트의 처음 55단어 까지만 보여주고 … 말 줄임표 표시. 또는 포스트의 “expcerpt” 필드를 사용하여 길이를 사용자 지정할 수 있다.
the_ID()
:
포스트 또는 페이지의 ID.
the_meta()
:
포스트 또는 페이지와 연결된 사용자 지정 필드.
the_shortlink()
:
사이트의 URL과 포스트 또는 페이지의 ID를 사용하여 페이지 또는 게시물에 대한 링크.
the_tags()
:
포스트와 연결된 태그.
the_title()
:
포스트 또는 페이지의 제목.
the_time()
:
포스트 또는 페이지의 시간 또는 날짜. 표준 php 날짜 함수 서식을 사용하여 사용자 지정할 수 있다.

page.php 파일 만들기

page.php 기본 템플릿을 만드는 방법을 알아보자.

만약 특정 page의 템플릿을 만들고 싶을 때는 page-$slug.php, page-$id.php로 만들 수 있다.

커스텀 템플릿을 만들고 싶다면 $custom.php로 만들 수 있다.

page.php 예시
<?php get_header(); ?>
<?php 
if ( have_posts() ) : 
	while ( have_posts() ) :
		the_post();
		the_category();
		the_title( '<h1>', '</h1>' ); 
		the_content();
	endwhile; 
else: 
	_e( '죄송합니다. 페이지를 찾을 수 없습니다.', 'mingg' ); 
endif; 
?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
사용된 코드 설명
if ( have_posts() ) : while ( have_posts() ) :
:
포스트가 있다면 이 루프문 시작.
‘<h1>’, ‘</h1>’
:
타이틀 앞 뒤로 ‘<h1>’, ‘</h1>’태그 붙이는 코드.
else:
:
위 루프문 조건에 부합하지 않으면 이 루프문 참조.
_e( ‘죄송합니다. 페이지를 찾을 수 없습니다.’, ‘mingg’ );
:
기재된 문구 출력하는 코드.
endwhile; endif;
:
루프문 닫기.

싱글 페이지와 다른 부분은 the_time(); the_author();가 빠졌고 루프문 조건식에 부합하지 않을 때 출력 문 차이뿐이다.

single.php 파일 만들기

single.php 기본 템플릿을 만드는 방법을 알아보자.

만약 특정 single 포스트의 템플릿을 만들고 싶을 때는 single-$posttype-$slug.php, single-$posttype.php로 만들 수 있다.

single.php 예시
<?php get_header(); ?>
<?php 
if ( have_posts() ) : 
	while ( have_posts() ) :
		the_post();
		the_category();
		the_time(); the_author();
		the_title( '<h1>', '</h1>' ); 
		the_content();
	endwhile; 
else: 
	_e( '죄송합니다. 포스트를 찾을 수 없습니다.', 'mingg' ); 
endif; 
?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

위의 페이지와 동일한 코드다.

적용된 화면

워드프레스 테마 만들기 - 4편 - single.php 적용
워드프레스 테마 만들기 - 4편 - page.php 적용

문제 없이 출력 잘 되는것 확인된다.

참고

 

관련 포스트

Mingg`s Diary
밍구
밍구
공부 목적 블로그