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ページ font functions.php google NEWマーク RSS single.php webツール WEBデザインツール Wordpress アーカイブ カスタム カスタムフィールド カスタムフィールドテンプレート カスタム投稿 カテゴリー カレンダー サイドバー ターム テキスト テンプレートタグ プラグイン ヘッダ ページ ポップアップ メニュー 並び替え 並べ替え 人気 便利 分岐 印刷 年別アーカイブ 投稿 投稿記事 改行 文字数 文法チェック 最新記事 月別アーカイブ 特定カテゴリー 画像