워드프레스를 처음 접하시는 분들은 흔히들 이렇게 말씀하십니다.
“다른 툴들에 비해서 쉽게 홈페이지를 만들수 있다고 들었다” 맞는 말입니다.
워드프레스는 기초적인 호스팅 원리만 알고 있으면, 아주 쉽게 홈페이지를 만들고, 글을 쓸수가 있습니다.

그런데…문제는 여기서 시작됩니다.

쉽게 접근을 했으니, 쉽게 확장을 할수 있을거 같은데… 디자인이나 기능의 확장을 하려고 하니… 생각처럼 쉽지가 않다는 겁니다.
다른이들의 말로는 디자인은 템플릿을 맘에 드는거 고르면 되고…
(돈을 써서 유료 템플릿을 고르면 퀄리티가 더욱올라간다는 아주 호의적인 (^^;;) 멘트까지 합니다)
원하는 기능은 필요한 플러그인을 골라서 붙이면 된다고…(아주 간단히…. 헐~~~!!) 말합니다.

그런데.. 사실은 직접 커스터 마이징 하지 않으면 쏙 마음에 드는 디자인을 구현하는것은 거의.. 불가능하고, 원하는 기능을 찾아서 구현하기도 (뭔 플러그인 마다.. 설정할게 그렇게 많은지…) 결코 쉽지 않다는 것이….. 워드프레스의 진실인거 같습니다.

“글,미디어,페이지,댓글,외모,플러그인.사용자,도구,설정 ” 몇개 안되는 대시보드의 메뉴들도, 사실 바라보면 볼수록 어려워 지는 단계도 있고요…

그래서 천천히 … 하나씩 .. 알아 볼까… 합니다.

워드프레스는 글을 작성하여 웹을 통해 이것들을 모아서, 정리하고, 분류하고, 디자인하고, 펼쳐 보이는데… 기본적으로 두가지의 분류 방법을 사용합니다.

바로 포스트 타입(post type)텍소노미(taxonomy) 입니다.

포스트타입 (Posttype)

포스트 타입 은 현재 글 작성자가 글을 작성하는 방법이 되는데.. 워드프레스에는 기본적으로 다섯가지의 post type이 정의 되어 있습니다.(최근에 두개 더 추가)

  1. 글(post)을 쓸때의 post
  2. 페이지(page)를 만들어 주는page(같은 말인거 같지만 앞의 단어는 명칭(이름)이 되고, 뒤의 단어는 속성(type) 이 되는겁니다.)
  3. 미디어를 올릴때 사용하는 attachment
  4. 글작성시 자동으로 저장해 주는 revision
  5. 메뉴의 아이템 작성시 생성되는 nav_menu_item

쉽게 말하면 얘네들 다섯종류는 워프 내부에서는 같은 동족으로 인식한다는 겁니다. 단지.. 타입 (type) 이라는 속성 한가지만 다를 뿐… 데이터 베이스 내부에도 이 다섯개의 내용들은 같은 테이블 (wp_posts) 에 저장됩니다.

그리고 이 중에서  post와 page 라는 post type 이 우리가 실제 컨텐츠를 생성할 때 사용하는 기본 글쓰기 방법입니다.

타입을 알고 싶으면 어드민 창에서 페이지든 포스트든 들어가서 보이는 글들의 목록중 아무것에나 마우스를 올려 보세요…위나 아래에 (브라우저에 따라서 다름) 그 글의 주소가 보이는데…

워드프레스 포스트타입 텍소노미 _01

왼쪽은 포스트, 오른쪽은 페이지 의 화면에 들어가 나열되어있는 글들 중 하나에 마우스를 올려 놓았을 때 보여지는 내용 입니다.(브라우저는 구글크롬) 아래에 표시된 경로에는 포스트의 고유 번호(post id)가 보입니다. 모두다 post라고 표시되죠? 같은 종족이라는 뜻입니다. 그런데 위의 경로를 보면 post_type 이 표시됩니다. (왼쪽의 post선택의 경우는 기본(default)이라서 post_type이 표시되지 않습니다.) 서로 다르죠.

텍소노미 (Taxonomy)

텍소노미(taxonomy) 는 글자 그대로 taxonomy(분류)를 하기 위한 수단입니다.
기본 텍소노미에는 category tag가 있습니다.

  1. link category 가 더 있지만… 현재는 어드민 창에는 보이지 않고 필요할 때 불러줘야 합니다.
  2. nav_menu 라는 텍소노미가 더 있지만 menu 생성시에 자동으로 생성하는 텍소노미 이므로 사용자가 관여할 사항이 아닙니다.

포스트 타입을 결정해서 (결국은 post와 page 둘중에 하나를 선택해서 ) 글 쓰는 방법을 선택하고, 이중 글(post)를 선택했다면 , 이 글(post) 들도 내부적으로 카테고리와 태그를 사용하여 다시 한번 더 분류해 주는 겁니다.

워드프레스 포스트타입 텍소노미 _02

텍소노미의 라벨(명칭)은 categories, texonomy_type은 category

 

워드프레스 포스트타입 텍소노미 _03

텍소노미의 라벨(명칭)은 Tags, texonomy_type은 post_tag

페이지에는 위의 포스트 처럼 카테고리와 태그가 없습니다.
그런데 페이지는 원래 없는것이 아니고, 워프내부에서 기본적으로 설정을 해 주지 않은 것입니다.
페이지의 특징을 굳이 포스트와 같게 할 필요가 없기 때문입니다.

포스트는 글을 작성하기 위한 기본 능력들… 카테고리화 하거나 태그를 만들어서 2중 3중의 분류가 가능하게 하고, 페이지는 정적인(같은 주제로 혹은 이중 삼중의 주제로 계속해서 이야기가 업데이트 되는 포스트와는 달리)화면의 구성, 예를 들면 about us,회사소개, 폼메일의 화면 등 어지간해서는 업데이트될 필요가 없는 화면을 구성하기 위해서 사용되는 글쓰기 도구로 특화 되어 구성된 것일뿐… 궁극적으로 글쓰기 도구로서는 같은 종족이기때문에…구성을 얼마든지 똑 같게 할수 있습니다. (페이지에도 카테고리를 만들고, 태그를 달수있는 능력을 부여할수 있다는 말 입니다.)

아래의 소스 코드를 현재 사용하고 있는 테마 폴더 내의 functions.php 맨 아래줄에 붙여 보세요.

아래의 이미지는 기본테마중에 twentyfourteen 테마의 functions.php 파일에 위의 소스코드를 적용한 화면입니다.

워드프레스 포스트타입 텍소노미 _04

page에도 카테고리와 태그가 생겼습 니다. 또 add new 창에 들어가 보면 그동안 없었던 카테고리선택창과 태그 입력창이 생긴것을 확인할수 있습니다.

정리

워드프레스에서 이렇게 포스트타입과 텍소노미를 이용해 구분 할 수 있게하는 이유는 작성된 글들이 많이 쌓였을때… 이것들을 어떤 공통된 사항으로 분류하여 펼쳐 보이기 위함입니다.

워드프레스에서 포스트타입과 텍소노미를 사용하는 것을 이해하는것은 아주 중요합니다.
왜냐하면 워드프레스에 기본적으로 포함되어 있는 분류 이외에도, 사용자가 얼마든지 포스트 타입을 생성하거나 (custom post type), 텍소노미를 확장(custom texonomy)해서 웹사이트의 컨텐츠를 얼마든지 다양하게 표현 할 수 있기 때문입니다.

그리고 대부분의 화려한 퍼포먼스를 자랑하는 테마들(특히 유료 테마들)은 custom post type 을 생성하고(ex. portfolio ) 이것을 이용해서 테마를 확장합니다.