WordPress 블로그를 운영하다 보면 정형화된 포스트 형식 외에 맞춤형 콘텐츠가 필요할 때가 있지 않나요? 예를 들면, 프로젝트나 작품, 리뷰 같은 특정 주제를 선보일 때 말이죠. 이런 필요를 충족시켜줄 수 있는 것이 바로 맞춤 포스트 타입(Custom Post Type, CPT)이에요! 이번 포스트에서는 WordPress에서 맞춤 포스트 타입을 생성하고 관리하는 법을 소개해 드릴게요.
맞춤 포스트 타입 생성하기
플러그인 사용하기
직접 코드 작업을 하지 않고 간편하게 맞춤 포스트 타입을 만들고 싶다면 'Custom Post Type UI'라는 플러그인을 추천드려요. 이 플러그인은 직관적인 UI로 맞춤 포스트 타입을 생성할 수 있게 해줍니다.
- WordPress 관리자 화면에서 '플러그인 > 새로 추가'로 가서 'Custom Post Type UI'를 검색하여 설치하고 활성화하세요.
- 설치가 완료되면 'CPT UI > Add/Edit Post Types' 메뉴로 이동하여 필요한 변수를 입력합니다.
- Post Type Slug: 하나의 단어로 이루어진 고유한 식별자예요. 예를 들면 'work'
- Plural Label: 복수형 레이블, 예: '작품들'
- Singular Label: 단수형 레이블, 예: '작품'
- Has Archive: 아카이브 페이지 여부, 'True'로 설정
- Menu Icon: 원하는 아이콘 선택하기
코드를 통해 직접 등록하기
만약 코드 작업에 자신 있다면, functions.php
파일에서 register_post_type()
함수를 사용하여 직접 등록할 수도 있어요.
function register_custom_post_type() {
register_post_type('work',
array(
'labels' => array(
'name' => __('작품들'),
'singular_name' => __('작품'),
),
'public' => true,
'has_archive' => true,
'menu_icon' => 'dashicons-admin-tools',
)
);
}
add_action('init', 'register_custom_post_type');
위 코드를 사용하면 '작품'이라는 맞춤 포스트 타입을 생성하여 WordPress 관리자 화면에 표시할 수 있답니다.
맞춤 분류법 생성하기
맞춤 포스트 타입을 좀 더 체계적으로 관리하려면 맞춤 분류법을 추가해주는 것도 좋아요.
- 'Custom Post Type UI' 플러그인에서 'CPT UI > Add/Edit Taxonomies'로 이동합니다.
- Taxonomy Slug: 'work_categories'
- Plural Label: '작품 카테고리들'
- Singular Label: '작품 카테고리'
- Attach to Post Type: 'Work'
이렇게 하면 '작품 카테고리'라는 맞춤 분류법을 만들어 포스트를 더 쉽게 정리할 수 있습니다.
맞춤 포스트 타입의 콘텐츠 작성 및 표시하기
맞춤 포스트 작성
새로운 맞춤 포스트를 작성하려면 WordPress 관리자에서 'Work > Add New'로 이동하세요. 제목과 내용을 입력하고, 이미지를 추가한 뒤 분류법을 설정하면 준비 완료! 저장하고 공개하기 전에 미리보기도 잊지 마세요!
아카이브 페이지 생성하기
맞춤 포스트의 아카이브 페이지를 생성하려면 테마 디렉토리에 'archive-work.php'라는 파일을 만들어야 해요.
<?php get_header(); ?>
<div class="content-area">
<main class="site-main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<h1 class="page-title">작품 아카이브</h1>
</header>
<?php while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?> >
<header class="entry-header">
<?php the_title( '<h2 class="entry-title">', '</h2>' ); ?>
</header>
<div class="entry-content">
<?php the_content(); ?>
</div>
</article>
<?php endwhile; ?>
<?php else : ?>
<article class="no-posts">
<h2>작품이 없습니다</h2>
</article>
<?php endif; ?>
</main>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
메뉴에 맞춤 포스트 타입 추가하기
WordPress 관리자의 'Appearance > Menus'로 이동하여 좋아하는 맞춤 포스트 타입('Work')을 메뉴에 추가하세요. 이렇게 하면 사이트 방문자들이 쉽게 접근할 수 있답니다.
WP_Query로 맞춤 포스트 타입을 조회하기
WP_Query 클래스를 사용하면 특정 조건에 맞는 맞춤 포스트 타입만을 조회하고 표시할 수 있습니다.
$args = array(
'post_type' => 'work',
'posts_per_page' => -1,
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
the_title();
the_content();
}
wp_reset_postdata();
}
이러한 방법들을 활용하면 WordPress에서 맞춤 포스트 타입을 보다 효율적으로 생성하고 관리할 수 있을 거예요! 아기자기한 블로그나 전문적인 사이트에서도 더 많은 자유를 얻을 수 있다는 점, 즐기세요!