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

워드프레스 테마를 만들 때 기본이 되는 파일들 중 archive.php를 만들어보자.

워드프레스 archive.php

 

워드프레스 archive.php

워드프레스 테마를 만들 때 아카이브 템플릿도 필요한 템플릿 중 하나다.

나는 아카이브 템플릿을 카테고리 템플릿 대신하여 사용하지만 category.php, author.php, date.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 날짜 함수 서식을 사용하여 사용자 지정할 수 있다.

archive.php 파일 만들기

카테고리 인식되는 순서 : category-$slug.php » category-$id.php » category.php » archive.php

커스텀 포스트타입 아카이브 : archive-$posttype.php

archive.php 예시
<?php get_header(); ?>
<?php single_cat_title(); ?>
<?php
		if(have_posts()):
			while (have_posts()):
				the_post();
?>
				<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php
				the_time('Y-m-d');
			endwhile;
		endif;
?>
<?php get_footer(); ?>
사용된 코드 설명
single_cat_title();
:
카테고리 타이틀 이름을 표시하는 코드.
the_permalink();
:
현재 게시물의 퍼머 링크를 표시하는 코드.
‘Y-m-d’
:
표준 php 날짜 함수 서식. Y-m-d H:i:s. Y=년도, m=월, d=일, H=시간, i=분, s=초
strtotime (“-1 months”)date(“Y-m-d”,strtotime (“-1 months”)); : 1달을 뺀 날짜 표기. +,-다 가능하며 months 대신 days, years, hours, minutes, week 사용 가능.

적용된 화면

워드프레스 테마 만들기 - 5편

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

[카테고리:] 없애기

카테고리, 태그, 작성자 페이지 등에서 타이틀을 표시해줄 때 [카테고리:]와 같은 라벨이 생긴다.

정말 엄청 거슬리는데 어떻게 삭제하는지 알아보자.

functions.php에 추가
function my_theme_archive_title( $title ) {
if ( is_category() ) {
$title = single_cat_title( '', false );
} elseif ( is_tag() ) {
$title = single_tag_title( '', false );
} elseif ( is_author() ) {
$title = '' . get_the_author() . '';
} elseif ( is_post_type_archive() ) {
$title = post_type_archive_title( '', false );
} elseif ( is_tax() ) {
$title = single_term_title( '', false );
}
return $title;
}
add_filter( 'get_the_archive_title', 'my_theme_archive_title' );
참고

 

관련 포스트

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