wordpress カスタム投稿のターム別(記事毎)にテンプレートの表示方法を変える 2012年9月5日
Tag: |


カスタム投稿のタームの記事を表示するにはsingle-カスタム投稿タイプ名.phpを利用して表示させますが、記事によってテンプレートを変えたい(表示内容を変えたい)場合に便利なhas_term() を使う方法です。

has_term()はwordpress3.1から使用可能になったif関数で条件を分岐し特定ページだけに記事・情報を表示させるテンプレートタグです。

カスタム投稿タイプ名:トピックス topics 
カスタム分類名:トピックス一覧 topicslist
ターム:
お知らせ info
イベント event

を作成した場合、タームのお知らせとイベントはsingle-topics.phpで出力させます。

1.お知らせとイベントでは表示させたい内容が一部違う場合
single-topics.php内にhas_termで分岐処理

<?php if ( has_term('info', 'topicslist') ) { ?>
AAAAAA
<?php } elseif ( has_term('event', 'topicslist') ) { ?>
BBBBBB
<?php } ?>

タームinfoに属する記事にはAAAAAと表示され、
eventに属する記事にはBBBBBBと表示されるようになります。

2.ターム毎にsingle.php(テンプレート)自体を変更したい場合

まずinfo用のテンプレートとevent用のテンプレートを作成します
single-info.phpとsingle-event.php
メインのsingle.phpのphp get_headerの下ぐらいに下記を追加

<?php if ( has_term('info', 'topicslist') ) { ?>
<?php
include(TEMPLATEPATH . '/single-info.php');
?>
<?php } ?>

関連記事

New

Aechive

Tag

css Facebook facebookカスタマイズ Facebookページ facebooRSS font functions.php google NEWマーク photoshop RSS SEO single.php webツール WEBデザインツール Wordpress アイコン アーカイブ エディタ カスタムタクソノミー カスタムフィールド カスタムフィールドテンプレート カスタム投稿 カテゴリー カレンダー クリップアート サイドバー ターム テキスト テンプレートタグ パターン ブラシ プラグイン ヘッダ ページ 並び替え 人気 便利 分岐 文法チェック 月別アーカイブ 特定カテゴリー 画像 記事