カスタム投稿タイプとカスタム分類の取得や条件判別

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]

  • URLをコピーしました!

この記事を書いた人

どうでもいいことばかりです

コメント

コメント一覧 (3件)

コメントする

*

目次