Custom Field Templateでショートコードを使う

記事内に広告が含まれています。

これまで、各投稿ページに「AmazonJs」プラグインを使ってAmazonの広告を入れていましたが、これでは各ページで広告内容を切り替えるには投稿記事のなかにアフィリエイトのコードを書くしかなく、ちょっと不細工かなと思ってました。

投稿ページによってAmazonの広告を切り替える

そこで、なんとか各ページ毎にしかも投稿記事の中に不要なアフィリエイトのコードを書かずに済む方法はないかと調べました。

Custom Field Templateでカスタムフィールドを作成

どうやら「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」で作成したショートーコードをコピーします。
Custom Field Template

コピーして保存したら記事を書いて投稿します。

これで無事に思ったところへ「AmazonJs」で作成したショートコードの広告が表示されていると思います。

タイトルとURLをコピーしました