このブログはファンブログというサービスに書いているので
ファンブログのテンプレート(スキン)を例に説明します。
ファンブログだとトップページを表示するのが「メイン」テンプレート
カテゴリー別や月別などの表示が「アーカイブ」テンプレートです。
この2つのテンプレート中の <BlogEntries> から </BlogEntries> までがメインループです。
2つのテンプレート中には下の箇所があります。
<BlogEntries>
<div class="entry">
...中略...
</div><!-- entry -->
</BlogEntries>
<div class="entry"> から </div><!-- entry --> までが記事のループですが
...中略...と書かれた部分は、実際には長いです。
最後の </div><!-- entry --> と </BlogEntries> の間にソースを加えます。
ファンブログの場合、PHPなどのサーバーサイドで動くスクリプトは使えませんので
ソースをJavaScriptで書きますが、WordPressなどの場合はサーバーサイド処理が
出来る環境だと思うのでPHPなどに書き直すといいと思います。
ソースコードは下のとおりです。
</div><!-- entry --> <script type="text/javascript"> <!-- if(typeof affiliate_flag==='undefined'){ var affiliate_flag=true; document.write('広告タグ'); } // --> </script> </BlogEntries>
affiliate_flagという名前は何でもいいですがユニークなものをつけます。
affiliate_flagが未定義なら、括弧内を実行します。実行するのは2つの処理になります。
- 広告タグをdocument.writeで書き出す。
- affiliate_flagを定義する。
affiliate_flagを定義したことで、2つ目以降の記事下には広告は表示されません。
最初のひとつでなく3つまで広告を出す
Google AdSenseは1ページに3個までしか広告を出せません。
3個以上ソースを書いても、4個目からは表示されません。
Google AdSenseなら、放っておいても表示されないのですが、
そうではなく自分で設定したい場合のソースです。
<script type="text/javascript"> <!-- if(typeof affiliate_flag==='undefined'){ var affiliate_flag=0; } if(affiliate_flag<3){ document.write('広告タグ'); affiliate_flag++; } // --> </script>
下のように、affiliate_flagが未定義なら、affiliate_flagをゼロで定義します。
if(typeof affiliate_flag==='undefined'){ var affiliate_flag=0; }
affiliate_flagが3未満なら、括弧内を実行します。
if(affiliate_flag<3){ document.write('広告タグ'); affiliate_flag++; }
実行するのは2つの処理になります。
- 広告タグをdocument.writeで書き出す。
- affiliate_flagをインクリメント。
これで最初の3個まで広告が表示されます。
affiliate_flag<3の3を書き換えれば表示個数を変更できます。
ソースコードにアフィリエイトの文字列を記入するときの注意点
別の記事「ランダム表示」に書いていますが、再掲します。
まず、文字列をシングルクォートまたはダブルクォートで括るときは、改行を入れてはいけません。
確かJavaScriptにヒアドキュメントはないと思うんですが、
どうしても改行を入れる必要がある時は\nを使います。
HTMLの中にダブルクォートがたくさん出てくるのでシングルクォートで囲った方が
いいですが、一部のアフィリエイト中にシングルクォートが含まれる物があります。
その場合もエスケープを忘れないようにしないとスクリプトは動きません。
HTMLのソースの中にスラッシュが2個続くURLが含まれています。
http://www.example.com/
コメントアウトと間違われないように、エスケープして\/\/と書いた方が無難です。
内容に関するご指摘、ソースに関する質問は受け付けますが、
ご自分のアフィリエイトが表示されないというトラブルは自分で解決してください。
アフィリエイト(ご自分の収益が目的)のトラブルに関する質問は無視します。