워드프레스에서 커스텀 포스트 타입에 블로그와 포스트 태그 박스 추가하기

카테고리와 포스트 태그 박스는 워드프레스에 이미 등록된 내장 메타 박스입니다. 이러한 기능을 기본 글(포스트)이나 페이지뿐만 아니라 커스텀 포스트 타입(사용자 정의 글 유형)에도 사용할 수 있습니다. 새 커스텀 포스트 타입을 등록할 때 register_post_type() 의 분류(Taxonomy) 인수를 사용하여 쉽게 카테고리와 글 태그 박스를 추가할 수 있습니다.

다음 예제는 "demo"라는 새로운 글 유형을 카테고리와 글 태그 박스와 함께 등록합니다.

add_action('init', 'demo_register_post_type');

function demo_register_post_type() {
register_post_type('demo', array(
'labels' => array(
'name' => 'Demos',
'singular_name' => 'Demo',
'add_new' => 'Add new demo',
'edit_item' => 'Edit demo',
'new_item' => 'New demo',
'view_item' => 'View demo',
'search_items' => 'Search demos',
'not_found' => 'No demos found',
'not_found_in_trash' => 'No demos found in Trash'
),
'public' => true,
'supports' => array(
'title',
'excerpt'
),
'taxonomies' => array('category', 'post_tag') // 중요함
));
}
// Source: Adding Categories And Post Tags Boxes For Custom Post Type In WordPress

위의 코드를 사용 중인 함수 파일에 추가해보면 다음과 같이 관리자 페이지의 왼쪽 패널에 Demo 포스트 타입이 "카테고리"와 "태그"와 함께 추가되어 있는 것을 확인할 수 있습니다. (반드시 차일드 테마를 만들어서 차일드 테마 내의 함수 파일에 추가하시기 바랍니다. "원클릭으로 간편하게 차일드 테마 만들기" 참고)

Demo 포스트 타입

위의 코드에서 'taxonomies' => array('category', 'post_tag') 라인을 삭제하면 Demos 아래에 "카테고리"와 "태그"가 표시되지 않습니다.

블로그에 커스텀 포스트 타입이 이미 등록되어 있는 경우 카테고리와 포스트 태그 박스를 추가하려면 register_post_type() 함수를 추가하면 될 것입니다. 하지만 소스를 수정하는 대신 다음과 같이 register_taxonomy_for_object_type() 함수(참고)를 사용할 수 있습니다.

add_action('init', 'demo_add_default_boxes');

function demo_add_default_boxes() {
register_taxonomy_for_object_type('category', 'demo');
register_taxonomy_for_object_type('post_tag', 'demo');
}

위의 방법 대신 Add Tags And Category To Page and Post Types와 같은 플러그인을 사용할 수도 있습니다.

이 플러그인을 사용하여 테스트해보니 개별 글을 작성하는 화면에 "태그"와 "카테고리" 박스가 추가되지만 위의 그림과 같이 메뉴에는 추가되지 않네요. (즉, 위의 경우 Demo 아래에 "카테고리"와 "태그" 메뉴가 포함되어 있지만 플러그인을 사용하면 "카테고리"와 "태그" 메뉴가 표시되지 않습니다.)

참고:

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다