HOME>WEBプログラム覚書>[WordPress]投稿タイプ、タクソノミー、タームについて

[WordPress]投稿タイプ、タクソノミー、タームについて

WordPressのいまいちピンとこないやつらについてのメモ。

投稿タイプ

wp_postsテーブルのpost_typeのこと。標準で

  • 投稿 (post)
  • ページ (page)
  • 添付ファイル (attachment)
  • リビジョン (revision)
  • ナビゲーションメニュー (nav_menu)

がある。

wp_postsテーブルのpost_type。これが何を意味するかというと、 純粋なデータの形としては同じものということ。

最終的な出力が違うのはpost_typeを元にWordPressが最終的にそれぞれのコンテンツへ作り変えているから。 試しにpost_typeを変更してみる。

nav_menu_itemをpostに変更した場合のHOME

通常の投稿として現れる。

カスタム投稿タイプ

独自に設定した投稿タイプのこと。

標準で用意されているpost_typeは当然どう処理するのかは決められているが、自身で作成する カスタム投稿タイプにはルールが無いので、register_taxonomyによる設定が必要となる。

といってもあくまでpostの仲間なのでカスタム投稿タイプをナビゲーションのように扱うことはできないのだが。

タクソノミー(Taxonomy)

ドキュメントには、リンネの分類とか紹介されてるけど、いまいちピンとこない。 標準で用意されてるものは

  • カテゴリー
  • タグ
  • リンクカテゴリー

の3つ。うん、確かにいい言葉が見つからない。

ターム(Term)

タクソノミーが持っているものwこれもいい言葉が見つからない。 タームは何かしらのタクソノミーに属している感じ。

タクソノミーが持つタームを取得するにはget_terms( $taxonomies, $args )を利用する。 日本語ドキュメントにget_termにget_the_termsの説明が書かれているので混乱するが、

get_the_terms( $id, $taxonomy )
投稿に関連付けられたタクソノミーが持つタームを取得する関数。
get_terms( $taxonomies, $args )
タクソノミー名からタームの一覧を取得
get_term( $term, $taxonomy, $output, $filter )
タームIDとタクソノミーを指定して1つに絞り込んだタームの詳細を取得する。タームのslugとか説明文とか欲しい時用

この3つくらい覚えておくとまぁなんとかなりそう。

カスタム分類(カスタムタクソノミー)

カスタムタクソノミーじゃないと出来ないってことはないんだけど、色々と簡単に出来るようになるみたい。

例えば通常の「投稿(post)」の新規作成ではカテゴリ選択やタグ選択のインターフェイスが出てくる。 あれは「投稿(post)」とタクソノミー「カテゴリ」「タグ」が関連付けられているから。(関連付けという表現は適切ではないかも)

カスタムタクソノミーは特定の投稿タイプと関連付けるということができるので同じようなこと簡単に出来る。 例えば「投手」というカスタム投稿タイプにタクソノミー「チーム」を関連付けると・・・

チーム選択のフィールドが自動で出てくれる。

これって公式に管理画面から設定できるようにならないのだろうか・・・? ずっとプラグイン頼みなのかな??

投稿日 2011年6月28日 12:06
カテゴリ PHP
タグ WordPress
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1227

コメント

コメントする
Name
Email Address
URL