워드프레스 테마를 만들 때 기본이 되는 파일들 중 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 사용 가능.
strtotime (“-1 months”)date(“Y-m-d”,strtotime (“-1 months”)); : 1달을 뺀 날짜 표기. +,-다 가능하며 months 대신 days, years, hours, minutes, week 사용 가능.
적용된 화면
문제 없이 출력 잘 되는것 확인된다.
[카테고리:] 없애기
카테고리, 태그, 작성자 페이지 등에서 타이틀을 표시해줄 때 [카테고리:]와 같은 라벨이 생긴다.
정말 엄청 거슬리는데 어떻게 삭제하는지 알아보자.
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' );
관련 포스트
테마 제작 – 5편 – archive.php 만들기 – 현재글