WordPressでアフィリエイトサイトを作る時に役立つショートコードと条件分岐
私は、もうだいぶ前からWordPressでしかサイトを作っていませんが、WordPressでアフィリエイトサイトを作る時に便利なショートコードと条件分岐について軽く書いておきたいと思います。
どちらも記事数が多いサイトでないと逆に面倒な作業になる可能性があります。広告を貼り替える時に、複数の記事の修正が大変だった人や、記事ごとに異なる広告を表示したい人などにはオススメです。
あと、ショートコードは、投稿画面に書いたコードがWordPressに勝手に書き換えられてしまう時に使うこともあります。
ショートコードの使い方
ショートコードは、記事の中に広告を貼る時に便利です。記事の中に直接アフィコードを張ってしまうと、あとでそのコードを変更する時に、記事の修正が必要になります。
ショートコードを挿入しておけば、仮に広告の貼り替えが必要になった時でも、1ヶ所修正するだけで済みます。WordPressでは、投稿画面でアフィコードを挿入しないことで、サイト管理が楽になります。
1. functions.phpに追記
まずは、ショートコードを機能させるために、テーマファイル内にあるfunctions.phpに以下のコードを追記します。
function Include_my_php($params = array()) {
extract(shortcode_atts(array(
'file' => 'default'
), $params));
ob_start();
include(get_theme_root() . '/' . get_stylesheet() . "/$file.php");
return ob_get_clean();
}
add_shortcode('myphp', 'Include_my_php');
2. phpファイルを作る
アフィコードを記述するためのphpファイルを作ります。ファイル名は何でもOKです。
たとえば、「scode.php」というファイルを作り、そこにアフィコードを記述します。ここで付けたファイル名は、あとでショートコードを挿入する時に使います。
Dreamweaverの画面ですが、scode.phpにアフィコードを含んだコードを記述します。文章やイメージなど何を書いてもOKです。ここに書いたものがショートコードを挿入した場所に反映されます。
広告の貼り替えが必要になった時は、この部分を修正します。広告を削除したい場合には、このファイルを空にするかコメントアウトすればOKです。
scode.phpは、テーマファイル内のsingle.phpやfunctions.phpなどがある階層にアップします。
3. ショートコードを挿入する
あとは、記事にショートコードを挿入するだけです。
実際にWordPressの投稿画面に挿入するとこんな感じになります。ビジュアルでもテキストでも機能します。
複数のphpファイルを作り複数のコードで管理することもできますし、後述する条件分岐タグを使うと、1つのphpファイルで複数の広告を管理することもできます。
条件分岐の使い方
条件分岐は、記事ごとに異なる広告を表示したい時に役に立ちます。
たとえば、私のFXサイトですが、普通の記事、FX会社紹介記事、シストレの記事、バイナリーの記事、ブログなどで表示しているサイドバーの内容や広告を変えています。
条件分岐タグについて、ここで一から説明するのは大変なので、基本的なことは、WordPressの条件分岐タグの使い方をご覧ください。
私は、カテゴリーごとに広告を分けたり、記事ごとにわけるのを良く使います。記事を細かくカテゴリーわけしておくことで、条件分岐させたい時に便利です。
<?php if(in_category(array('71','1717'))): ?>
シストレ用の広告
<?php else: ?>
全記事共通の広告
<?php endif; ?>
header.php、single.php、sidebar.php、footer.phpなどの広告を表示したい部分に、条件分岐タグを挿入します。
上記は最もシンプルな分け方です。特定のカテゴリーに属する記事とその他の記事で分けています。数字はカテゴリーIDです。
これでIDが71と1717のカテゴリーに属する記事にはシストレ用の広告が表示されて、その他の記事には全記事共通の広告が表示されます。
複数のカテゴリーで異なる広告を表示したい時は、以下のようになります。
<?php if(in_category(array('71','1717'))): ?>
シストレ記事用の広告
<?php elseif(in_category(array('31','89','91'))): ?>
バイナリー記事用の広告
<?php elseif(is_single(array('1704','1717','9901'))): ?>
特別な記事の広告
<?php else: ?>
全記事共通の広告
<?php endif; ?>
1つ目は「if」ですが、2つ目以降は「elseif」になります。
こうすることで、そのカテゴリーに適した広告を表示することができますので、広告のクリック率も上がります。
私は、single.php、sidebar.phpで良く使いますが、条件分岐タグを使えば、特定のカテゴリーに属する記事のみデザインを変えるということもできます。
ショートコードと条件分岐を組み合わせて使う
ショートコードを挿入する為のphpファイルで条件分岐を使うこともできます。
たとえばサイト内に車査定のページと自動車保険のページがあり、それぞれの記事の中にショートコードで広告を挿入したい時などに使います。
車査定と自動車保険で異なる広告を表示したいので、条件分岐が必要になります。
ちょっと見づらいですが、実際に使用しているコードはこのようになっています。特定の記事と特定のカテゴリーで分岐させています。
カテゴリーで分岐させても良いですし、記事を指定してもOKです。記事を指定する場合、始めに記事のIDを調べて挿入する作業が面倒ですが、挿入後はscode.phpを書き換えるだけなので楽です。
記事に挿入するショートコードは、全て同じになります。冒頭で紹介したファイル名であれば「」になります。
ショートコードも条件分岐タグもWordPress初心者には少し難しいと思いますが、大規模サイトを作る時は必須のスキルとも言えますので、興味を持った人は活用してみましょう。