WordPress3.0で実装されたカスタム投稿タイプ(Custom Post Types)とカスタム分類(Custom Taxonomies)は非常に強力なんですが、まだまだ情報が少なく苦労する状態。
特に取得・判別系が分からなかったので、自分用にメモしときます。
構成はこんな感じ。
■カスタム投稿タイプ(custom post)
slug : ‘event’
ラベル : イベント情報
■カスタム分類(taxonomy)
slug : ‘event-category’
ラベル : イベント情報カテゴリ
[イベント情報カテゴリ] 内
├ ワークショップ ( workshop )
├ レポート ( report )
…
└ その他 ( etc )
[php]
label; //取得結果:’イベント情報’
//クエリからtaxonomy(カスタム分類タクソノミー)のslug取得
$taxonomy_var = get_query_var(‘taxonomy’); //取得結果:’event-category’
//クエリからterm(カスタム分類タクソノミー内のカテゴリ)のslug取得
$term_var = get_query_var( ‘term’ ); //取得結果:’workshop’
//termの情報を取得
$my_term = get_term_by(‘slug’, get_query_var( ‘term’ ), get_query_var( ‘taxonomy’ ) );
//termのラベルを取得
$term_name = $my_term->name; //取得結果:’ワークショップ’
?>
[/php]
だいたいこれをテンプレートの先頭に書いてたりすると便利です。
header.php ではCSSの切替などで重宝します。
メモ)
もし header.php に上記のような変数を定義していても、それをget_header()で読み込んだテンプレート上では参照できない。
そんな時はheader.phpをWP関数じゃなくてPHPの関数(includeやrequire)で読み込べば参照できるようになる。
[php]
get_header();
↓
include( TEMPLATEPATH . ‘/header.php’);
[/php]
コメント
コメント一覧 (3件)
[…] カスタム投稿タイプとカスタム分類の取得や条件判別 « 我流天性 がらくた屋 我流さんのブログより。スタイルシート用に超絶便利かつ不可欠だと思う。 […]
我流先生お世話になっております。
タクソノミーのラベル名を取得したくてさまよっておりました。
先生の記事を参考にさせていただき解決しました。
ありがとうございます!
>篠原くん
お役に立てたようで何より!!