これまで、各投稿ページに「AmazonJs」プラグインを使ってAmazonの広告を入れていましたが、これでは各ページで広告内容を切り替えるには投稿記事のなかにアフィリエイトのコードを書くしかなく、ちょっと不細工かなと思ってました。
投稿ページによってAmazonの広告を切り替える
そこで、なんとか各ページ毎にしかも投稿記事の中に不要なアフィリエイトのコードを書かずに済む方法はないかと調べました。
Custom Field Templateでカスタムフィールドを作成
どうやら「Custom Field Template」というプラグインを使うと、各記事ごとに、別々の内容を記述することが出来るようです。
Custom Field Templateのインストール
インストールは簡単でいつものようにプラグインの管理ページから「新規追加」でCustom Field Templateと入力しインストールします。
Custom Field Templateの設定
Custom Field Templateを有効にすると管理画面の「設定」に「カスタムフィールドテンプレート」という項目が増えています。
のような画面が表示されていると思います。
その中の「テンプレートタイトル」と「テンプレートコンテンツ」を入力します。
「テンプレートタイトル」はわかりやすいものであれば何でも良いです。
「テンプレートコンテンツ」には以下の内容を登録します。
[アマゾンアソシエイト1] type = text size = 200 shortCode = true [アマゾンアソシエイト2] type = text size = 200 shortCode = true [アマゾンアソシエイト3] type = text size = 200 shortCode = true
これで設定完了です。
Amazonの広告を表示したいところへコードを挿入する
次に実際にAmazonの広告を表示したいところへ以下のコードを挿入します。
<?php if(post_custom('アマゾンアソシエイト1')): ?> <? print('<h2>関連商品</h2>'); ?> <?php echo apply_filters('the_content', get_post_meta($post->ID, 'アマゾンアソシエイト1', true)); ?> <?php endif; ?> <?php if(post_custom('アマゾンアソシエイト2')): ?> <?php echo apply_filters('the_content', get_post_meta($post->ID, 'アマゾンアソシエイト2', true)); ?> <?php endif; ?> <?php if(post_custom('アマゾンアソシエイト3')): ?> <?php echo apply_filters('the_content', get_post_meta($post->ID, 'アマゾンアソシエイト3', true)); ?> <?php endif; ?>
このサイトでは「単一記事の投稿(single.php)」のGoogleAdsenseの下に表示するように設定しました。
投稿画面でCustom Field Templateの内容を編集する
次に記事の投稿画面に移動すると「カスタムフィールドテンプレート」という項目ができていると思うのでそこに「AmazonJs」で作成したショートーコードをコピーします。
コピーして保存したら記事を書いて投稿します。
これで無事に思ったところへ「AmazonJs」で作成したショートコードの広告が表示されていると思います。