WordPressに限らずブログなどの動的なWebページでは、本文とサイドバーのレイアウト上のアンバランスが生じることがよくありますね。それを軽減するためのTipsになれば。。
■目的:
カテゴリ一覧や検索結果などで記事数が少ない場合のみ、アドセンスやアフィリエイト広告を記事リストの最後に表示する。
■現状:
検索結果が1件しかなかった場合など、サイドバー側はひたすら長く続き、本文側は空白が続く、という見た目よろしくない状態。かといって、検索結果が少なかった場合を想定して本文側に広告を挿入すると、記事数が多かった場合には本文側が膨らむ…。
■方法:
本文側の記事ループ下に下記を挿入。
「現在のページ内の記事数が3件より少ない」場合のみ、広告を表示する。
<?php if($wp_query->post_count < 3): ?>
—アドセンス、その他アフィリエイト—
<?php endif; ?>
—アドセンス、その他アフィリエイト—
<?php endif; ?>
以上
■解説:
$wp_query は、言ってみれば今ループで展開中のクエリを指し、post_countで展開中のループの数を得ることができます。なので、post_countが3より少なければ以下実行、となります。
記事ごとの文字数もバラバラだろうし、これだけでは解決しないかもしれませんが、マシにはなりますよね?
■補足:
サイドバー側を囲っても同じことですね。5件以上だったらサイドバーのアドセンスを表示する、とか。組み合わせればもっとフレキシブルに。
コメント/質問お待ちしています