勇者コレクター攻略日記

元々はプロのプログラマがレビューする転職情報。今は勇者コレクターの攻略がメイン

wordpressのtwenty elevenで記事のタイトルと本文の間に要素を挿入する為content.phpをいじる

   

WordPressをやっていて
ページの上部や下部に
Google Adsenseをいれたい場合などは、
header.php、footer.phpをいじれば
それで事足りてしまうので簡単です。

しかし、
例えば記事のタイトルと本文の間などに
広告を挟みたい場合などは、
content.phpをいじることになります。

パッと見すごく複雑なテンプレートだけど
落ち着いて見ると
<header class=”entry-header”> のパートと、
<div class=”entry-summary”> or <div class=”entry-content”>のパート
(検索画面かどうかで変わります)と、
<footer class=”entry-meta”>のパートに
キレイに分かれてることが分かる
(それぞれ空業が入っている)

だから、そんなに難しくない。
ただ、ここに挿入した修正は
複数の記事・エントリーが表示されるページでは
全てに挿入されてしまうので
ちょっと工夫が必要。

先頭の記事にだけ何かするには
while (have_posts()) でカウンタを駆使し・・・
みたいなことを言っている人もいるけど、
content.phpはwhileではないし、
大体、構造的にも美しくないし、
the_postの中はいじれないし、ダメダメ。

content.php内にこれを入れるのが正しい

<?php if ($wp_query->current_post === 0) : ?>
// ここに、先頭の記事にだけ表示したいものを挿入
<?php endif; ?>

最後の記事だけってのは
<?php if ($wp_query->current_post === $wp_query->post_count – 1) : ?>
// ここに、先頭の記事にだけ表示したいものを挿入
<?php endif; ?>

ね、簡単でしょ?

 - 未分類 , ,