前回は、「記事一覧」にインフィード広告を表示しましたが、今回は「関連記事」の中にインフィード広告を挿入します。
wordpressのテーマによっては、インフィード広告の挿入用にウィジェットが用意されていたりしますが、まだ対応していないテーマもあります。
「stinger plus2」はまだ対応していないかと思います。
*adsenseのインフィード広告用コード取得の方法は割愛させていただきます。
ご参考→ インフィード広告ユニットを作成する
.phpテンプレートの修正
関連記事を表示するテンプレート「kanren-thumbnail-on.php」を修正します。
20行目に以下の記述があるかと思います。
<?php if ( $st_query->have_posts() ): ?> <?php while ( $st_query->have_posts() ) : $st_query->the_post(); ?>
これを以下のように書き換えます。
<?php $ads_infeed = '4'; //広告を何番目に表示させるか $ads_infeed_count = '1'; ?> <?php if ( $st_query->have_posts() ): ?> <?php while ( $st_query->have_posts() ) : $st_query->the_post(); ?> <?php if($ads_infeed_count == $ads_infeed){ ?> <dl class="clearfix"> //取得したアドセンスコード </dl> <?php } $ads_infeed_count++; ?>
ここでは、2行目の「$ads_infeed」のところで、4個目に表示されるようにしていますが、ここはお好みで変更できます。
「dl class=”clearfix”」でアドセンスコードをくくっていますが、これは「stinger plus2」のタグがそうなっているため。
これでアドセンスコードを囲ってやることで、区切り線や隙間がほぼ再現できます。
それでも微調整が必要になる場合がありますが、その時は新たにclass指定を追加してcssで微調整します。
PC用とスマホ用でサムネイルの大きさを変えている場合
この場合は、アドセンスコードを2つ取得して、以下のように条件分岐します。
<?php $ads_infeed = '4'; //広告を何番目に表示させるか $ads_infeed_count = '1'; ?> <?php if ( $st_query->have_posts() ): ?> <?php while ( $st_query->have_posts() ) : $st_query->the_post(); ?> <?php if($ads_infeed_count == $ads_infeed){ ?> <dl class="clearfix"> <?php if(st_is_mobile()) :?> //スマホ用のアドセンスコード <?php else: ?> //それ以外用のアドセンスコード <?php endif; ?> </dl> <?php } $ads_infeed_count++; ?>
条件分岐について「stinger plus2」では
「st_is_mobile()」を使用した場合、「スマホ」と「PC・タブレット」
「wp_is_mobile()」を使用した場合、「スマホ・タブレット」と「PC」
という分岐になります。
*「記事一覧」にインフィード広告を表示するにはこちらの記事をご参照。
https://ks-fdripp.tfmwish.comstinger2_infeeditiran/
wordpressの管理画面から、function.phpなどの.phpファイルを編集した場合、うまく動作しない時があります。
その際は、ftpソフトなどでいったん該当ファイルをローカルに保存して、そこで編集を行います。
編集した.phpを、ftpソフトなどで再度アップロードする事で正常動作する場合があります。
.phpを編集する際は、サクラエディタ が、エラーが少ないのではないかと思います。
上のエディタで保存する場合は、文字コード「UTF-8」、BOM「チェック無し」がエラーが少ないのでは無いかと思います。