WordPress: カスタムフィールドによるテンプレート切り替え

AdSense,WordPress

WordPressのテンプレートを工夫して、カスタムフィールドによって表示内容を変更するようにしてみました。

と言っても、そんなに難しいことでもなく、"post_custom"関数を使って処理を切り分けただけです。

カスタムフィールドによるテンプレートの切り替え方法

サンプルコードはこんな感じ。

<?php if ( !post_custom('foo') ) {
     :
  (処理1)
     :
} else {
     :
  (処理2)
     :
}; ?>

具体的な手順としてはこんな感じ。

  1. 上記コードをテンプレート中の表示を切り替えたい場所に記述
  2. 処理1に通常表示、処理2に切替表示のコードを記述
  3. 「切替表示」を行いたい記事のカスタムフィールドに名前’foo’、値’1’を新規追加

こうすると、値 foo が「ない場合」は処理1が、「ある場合」は処理2が動き、表示が切り替えられるというわけです。

コード実例

もう少し具体的なサンプルとして、うちで使ってるコードも掲載しておきます。

<?php if ( !post_custom('noads') ) {
    // Google AdSense用コード
} else {
    // Amazonや楽天などのアフィリエイトコード
}; ?>

上記コードでは、通常時はGoogleAdSenseが表示され、カスタムフィールドに’noads’の定義がある場合はAmazonや楽天などの商品リンクを表示されます。

'noads’定義時の実例は当ブログ内の別記事「激ヤバ無修正の無料動画!」を参照してください。通常ならヘッダ付近に表示しているAdSense広告が非表示になっていることが確認出来るはずです。