STINGER8の関連記事にインフィード広告を入れたい!
このブログにはWordpressの無料テーマ「STINGER8」を使っているのですが、
最近よく見かける、関連記事内にアドセンスのインフィード広告を挿入する方法がどうしても検索できず、
非常に難儀しました。
有名な広告プラグインの「Ad Inserter」を使って挑戦したのですが、
関連記事にインフィード広告を挿入するには、
「BEFORE EXCERPT」か「AFTER EXCERPT」のどちらかで挿入するのですが、
その設定は通常一覧のページにも有効になってしまい(しかもEXCERPT(抜粋)だから?広告の長さが短くなっている)、
どうにもうまくいきませんでした。
(通常の記事一覧へのインフィード広告挿入は簡単にできた)
他のテーマでは、多少ですが関連記事内にインフィード広告を挿入する設定は見つけられるのですが、
STINGER8では有効なものが見つかりません。
もう人気ないんでしょうかね・・・
記事一覧だけでいえばうまくいっているので「Ad Inserter」の設定を色々と
探っては変更を繰り返してもみましたが、思うようにいきませんでした。
そうこうしているうちに3日が経過し、
ようやく関連記事内にインフィード広告を挿入する、という目的を達成できました。
自分の環境だから難儀したのか、他の人の環境ならすんなりいくかなどはわかりません。
またこの設定で他の人が正常に動作するのかどうかもわかりません。
PHPがほとんど読めないので・・・
なのであくまで参考程度にお願いします。
また実行前にはバックアップは必ず、ですね。
設定方法
1.STINGER8の親テーマにある「kanren.php」を、子テーマ「STINGER8 CHILD」内にコピーします。
WordPress上からではなく、自分のWordPressを設置しているサーバのFTPなどの
管理画面から実施する事になります。
(もしかしてWordpress上からでもできるのでしょうか?)
2.「STINGER8 CHILD」にコピーした「kanren.php」を編集します。
([外観]→[テーマの編集]から)
3.下記のコマンド群がある場所を探してください。
<?php if ( $st_query->have_posts() ): ?> <?php while ( $st_query->have_posts() ) : $st_query->the_post(); ?>
4.上記コマンド群の上に、下記のコマンドを挿入。
<?php $ads_infeed = array(3,6,8); //何番目に表示したいか $ads_infeed_count = '1'; ?>
5.最後に3.で探したコマンド群の下に、下記コマンドを挿入します。
<?php $ads_disp = in_array($ads_infeed_count, $ads_infeed); if($ads_disp){ ?> ここにGoogleアドセンスで取得した自分のインフィード広告のコードを挿入 <?php } $ads_infeed_count++; ?>
たったこれだけの設定なのですが、相当数の試行錯誤をしました。
ちゃんと表示されたのでいいのですが、PHPの知識が乏しいので、
これが正解であるかどうかも不明です。
ちなみに設定内の「//何番目に表示したいか」の意味ですが、
現在自分の関連記事表示数設定は8になっており(デフォルトは5)、
「array(3,6,8)」の設定では、
3番目の記事の前、6番目の記事の前、8番目の記事の前に挿入されています。
しかしこれを実際に記事の頭から数えると、インサートされた広告の分、数が増え、
3番目、7番目、10番目に表示されている事になります。
非常にややこしい。
実際は「//何番目に表示したいか」というよりは、
「//何番目の記事の前に表示したいか」が正確な表現になりますね。