워드프레스 카테고리를 커스텀 포스트 타입에 추가하기

워드프레스에서 플러그인을 사용하여 쉽게 커스텀 포스트 타입을 만들 수 있습니다. 그리고 해당 커스텀 포스트 타입에 맞는 커스텀 분류 (custom taxonomy)를 만들어 연결할 수도 있습니다. 예를 들어, 영화 리뷰를 위해 Movies라는 커스텀 포스트 타입을 만들고 '장르'라는 사용자 정의 분류를 추가할 수 있습니다.

경우에 따라 별도의 분류를 만들지 않고 워드프레스에서 기본적으로 제공하는 분류 중 하나인 카테고리를 커스텀 포스트 타입에 사용하기를 원할 수도 있습니다. 워드프레스 내장 카테고리 분류는 '포스트 (Post)'에서만 기본적으로 표시되지만, Custom Post Type UI와 같은 플러그인을 사용하면 커스텀 포스트 타입에 워드프레스 코어에서 제공하는 '카테고리'를 추가할 수 있습니다.

워드프레스 카테고리를 커스텀 포스트 타입에 추가하기

Custom Post Type UI 등과 같은 플러그인을 사용하면 쉽게 커스텀 포스트 타입(사용자 정의 글 유형)을 만들고 커스텀 분류를 추가할 수 있습니다.

플러그인을 사용하여 커스텀 포스트 타입을 만들려면 Custom Post Type UI를 설치하고 활성화한 다음, CPT UI > Add/Edit Post Types에서 새로운 포스트 타입을 추가하도록 합니다.

워드프레스 카테고리를 커스텀 포스트 타입에 추가하기 - Custom Post Type UI 플러그인

커스텀 포스트 타입 생성/편집 화면에서 워드프레스 기본 카테고리와 태그 분류를 연결할 수 있습니다.

사용자 정의 글 유형에 워드프레스 기본 카테고리 및 태그 연결하기

별도의 커스텀 분류를 만들어 연결하려면 CPT UI > Add/Edit Taxonomies에서 Taxonomy Slug 등을 설정하고 Attach to Post Type에서 해당 커스텀 포스트 타입(예: Movies)을 선택한 후에 Add Taxonomy 버튼을 클릭하도록 합니다.

커스텀 분류 만들기

커스텀 포스트 타입을 활용하는 자세한 방법은 다음 글을 참고해보세요.

카테고리 페이지에 커스텀 포스트 타입 글들이 표시되도록 하기

커스텀 포스트 타입(예: Movies)에 워드프레스 기본 카테고리를 분류로 연결한 경우 포스트에 추가된 카테고리를 사용할 수 있습니다.

커스텀 포스트 타입 글 작성 화면 - 카테고리 선택

하지만 카테고리 페이지에는 기본 글 유형의 글(즉 Post)만 표시되고 커스텀 포스트 타입 글(예: Movies)은 표시되지 않을 것입니다. 그런 경우 Add Custom Post Types to Tags and Categories in WordPress (워드프레스에서 커스텀 포스트 타입을 태그와 카테고리에 추가하는 방법)에서 소개하는 코드를 사용하면 카테고리 아카이브 페이지에 사용자 정의 글 유형 글들도 표시됩니다.

function add_custom_types_to_tax( $query ) {
if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {
 
// Get all your post types
$post_types = get_post_types();
 
$query->set( 'post_type', $post_types );
return $query;
}
}
add_filter( 'pre_get_posts', 'add_custom_types_to_tax' );

위의 코드를 테마의 함수 파일(functions.php)에 추가하시기 바랍니다. 항상 말씀드리지만 차일드 테마(자식 테마, 하위 테마)를 만들어서 차일드 테마 내의 함수 파일에 추가해야 추후 테마 업데이트 시에도 코드가 사라지지 않습니다.

위의 코드를 추가하면 카테고리 페이지와 태그 페이지에 연결된 커스텀 포스트 타입 글들이 표시될 것입니다. 특정 커스텀 포스트 타입 글만 카테고리와 태그 페이지에 표시하도록 하고 싶은 경우에는 코드에서:

$post_types = get_post_types();

위의 라인을 다음 라인으로 대체하면 됩니다.

$post_types = array( 'post', 'your_custom_type' );

페이지 빌더를 사용하여 커스텀 포스트 타입 글 편집하기

특정 커스텀 포스트 타입의 글을 페이지 빌더를 사용하여 작성하고 싶은 경우에는 페이지 빌더 내의 옵션에서 해당 커스텀 포스트 타입에 대하여 페이지 빌더를 사용하도록 설정하면 됩니다.

페이지 빌더를 사용할 경우 장점은 쉽게 원하는 레이아웃으로 글/페이지를 만들 수 있다는 점입니다. 하지만 단점은 다른 페이지 빌더를 사용하는 테마로 변경하거나 해당 페이지 빌더를 어떤 이유로 사용할 수 없게 되는 경우 난감해질 수 있습니다. (페이지 빌더 두 개를 동시에 사용하는 것도 가능하겠지만 페이지 빌더 자체가 사이트에 부담을 줄 수 있고, 두 개를 함께 사용하여 충돌 등의 문제가 발생할 가능성이 높아집니다. 그리고 사이트 속도에도 부정적인 영향을 미치게 됩니다.)

엘리멘터 페이지 빌더 사용하기

엘리멘토 (Elementor) 페이지 빌더를 사용하여 커스텀 포스트 타입 글들을 작성하고 싶은 경우 워드프레스 관리자 페이지 > 엘리멘터 > 설정 > 일반으로 이동하여 글 유형에서 원하는 글 유형을 체크합니다.

워드프레스 엘리멘터 페이지 빌더 지정하기

위의 그림에서는 "글"도 체크되어 있지만 가급적 "글(Post)"은 워드프레스 기본 에디터를 사용하는 것이 바람직합니다. 페이지 빌더로 글을 작성하게 되면 추후에 테마를 바꾸거나 페이지 빌더를 바꾸어야 할 때 문제가 될 수 있습니다.

WPBakery 페이지 빌더 사용하기

WPBakery Page Builder (이전 명칭 "비주얼 컴포저")를 커스텀 포스트 타입 글 편집에 사용하고 싶은 경우에는 WPBakery Page Builder > Role Manager를 클릭하고 Role Manager 탭을 선택합니다.

각 역할(예: 관리자, 편집자...)에 대하여 WPBakery 페이지 빌더를 사용할 수 있도록 설정할 수 있습니다. 예를 들어, 관리자가 사용 가능하도록 하려면 관리자 섹션에서 Post typesCustom으로 선택하고 원하는 글 유형을 체크하면 됩니다.

WPBakery 페이지 빌더 지정하기

Salient 테마를 사용하는 사이트에서 커스텀 포스트 타입을 추가한 다음 WPBakery Page Builder를 커스텀 포스트 타입 글 편집에 사용하도록 설정해보니, 글 편집 화면에 다음과 같은 오류가 표시되었습니다.

Warning: count(): Parameter must be an array or an object that implements Countable in /home/..../wp-contnet/plugins/js_composer_salient/includes/templates/editors/partials/vc_welcome_block.tpl.php on line 7

Salient 테마에서만 이런 문제가 발생하는지, 아니면 WPBakery 페이지 빌더를 사용하는 다른 사이트에서도 비슷한 문제가 발생하는지는 모르겠습니다.

참고

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

댓글 남기기

* 이메일 정보는 공개되지 않습니다.