워드프레스의 커스텀 포스트 타입(Custom Post Type), 커스텀 분류(Custom Taxonomy)는 기본 포스트 타입(post, page, attachment 등)과 분류(category, post_tag 등) 외에 사용자가 추가한 것으로 ‘커스텀’을 붙여 부릅니다. ‘커스텀 필드’도 기본 필드 외에 사용자가 추가한 필드로 말할 수 있지만, 타입과 분류와 조금 다릅니다.
워드프레스 필드
워드프레스를 포함한 모든 소프트웨어(프로그램)에 한정하여, 필드는 데이터 입력, 저장, 표현의 공간입니다. 따라서 워드프레스 필드는 ‘데이터베이스에 있는 모든 필드’로 정의하는 것이 적절합니다.
포스트 필드
포스트 타입 post, page, attachment 등 워드프레스 포스트 타입에는 제목, 글쓴이, 슬러그 등의 필드가 있습니다. 타입 attachment 경우는 이미지나 파일을 등록한 후 편집 화면에 나타납니다. 포스트 필드는 포스트 타입에 존재하는 모든 필드를 말합니다. 포스트 필드라고 해서 타입 post에 있는 필드만 지칭하는 것은 아닙니다. 워드프레스에서 모든 포스트의 데이터는 데이터베이스 {prefix}_posts
테이블에 저장됩니다. 따라서 포스트 필드는 데이터베이스에 있는 {prefix}_posts
테이블의 모든 필드라고 말해도 문제가 없습니다. {prefix)_posts
테이블은 워드프레스를 설치할 때 다른 접두어(prefix)를 정의하지 않았다면 wp_posts
가 됩니다.

포스트 필드의 데이터를 사이트에 표현할 때 기본적인 get_post_field
함수가 있지만, 이보다 더 간편하고 유용한 포스트 템플릿 태그를 사용하는 것이 일반적입니다. get_post_field
함수는 테마를 직접 편집하여 워드프레스 사이트를 구성한다면 편리한 때가 많습니다. 포스트 템플릿 태그에는 the_title
, the_author
, the_content
등 아주 많습니다.
포스트 커스텀 필드 (Custom Fields)
포스트 필드 외의 필드를 사용자가 정의하여 사용하면 커스텀 필드입니다. 따라서 ‘포스트의 커스텀 필드’로 말할 수 있습니다. 보통 ‘커스텀 필드’는 이 필드를 말합니다. 포스트의 커스텀 필드에 입력하는 데이터는 말 그대로 포스트에 종속하는 데이터이므로 ‘포스트의 메타데이터’로 정의하며, 모두 데이터베이스 {prefix}_postmeta
테이블에 저장됩니다. 포스트의 메타데이터를 표현, 변경할 때 코덱스의 도움이 필요하다면 커스텀 필드보다 포스트의 메타데이터에 관한 정보를 찾는 것이 유리합니다.
커스텀 옵션 필드, 글로벌 커스텀 필드
(포스트의) 커스텀 필드 데이터는 포스트에 종속한 데이터이므로 사이트에 표현 또는 조건으로 활용할 때 먼저 해당 포스트의 특정 값을 정의한 후 커스텀 필드를 정의해야 합니다. ID가 ‘1’인 포스트의 커스텀 필드 ‘A’의 데이터 ‘B’를 사이트에 출력할 때 ‘ID 1의 값을 가진 포스트’에 해당하는 정의가 있어야 필드 A의 값 B를 얻을 수 있다는 뜻입니다.
반대로 사이트 제목 (blogname), 홈 URL (home) 등은 선행 조건 정의 없이 특정 코드만 템플릿 파일에 입력하면 사이트에 표현할 수 있습니다. 이 항목 모두 ‘워드프레스 필드’입니다. 이런 필드를 보통 ‘옵션 필드(Options Fields)’ 또는 ‘글로벌 필드’로 이야기합니다. 도메인이 ‘TLD’라고 가정할 때 로그인 상태에서 브라우저 주소 필드에 TLD/wp-admin/options.php
입력 후 나타나는 데이터는, 관리페이지 Settings 및 하위 페이지에서 설정한 모든 옵션 데이터와 플러그인 등에서 옵션 데이터로 추가한 것입니다. 옵션 데이터는 데이터베이스 {prefix}_options
테이블에 저장됩니다.
옵션 필드(또는 글로벌 필드)를 워드프레스 기본 옵션 필드로 가정할 때 사용자가 추가한 옵션 필드를 ‘커스텀 옵션 필드’ 또는 ‘글로벌 커스텀 필드’로 정의할 수 있습니다.
메타데이터
포스트 커스텀 필드를 데이터 관점에서 부르면 ‘메타데이터’입니다. 워드프레스 데이터베이스를 보면 {prefix}_usermeta
, {prefix}_termmeta
, {prefix}_postmeta
, {prefix}_commentmeta
테이블이 있습니다. 각각의 콘텐츠(사용자, 분류, 포스트, 댓글)에 대한 메타데이터를 저장합니다. 워드프레스에서 포스트를 작성하거나 댓글을 달 때, 사용자를 추가할 때 데이터가 각 테이블의 어떤 필드에 저장되는지 확인하면 원하는 데이터를 출력하는 데 도움이 됩니다.
[…] 워드프레스 필드, 커스텀 필드, 옵션 필드, 메타데이터 […]