2012-08-16

YARPPをLinkWithin風にした上で、全ての記事にアイキャッチ画像を表示する

久しぶりにこのサイトのデザインをいじってみました。個別記事の末尾に、関連エントリを自動で表示するようにしています。(どういう意味か分かりにくければ、↑にあるこの記事のタイトル(「YARPPをLinkWithin風にした上で、全ての記事にアイキャッチ画像を表示する」)をクリックして個別記事のページに飛び、末尾をご覧下さい。

やり方については、以下の記事を参考にさせてもらいました。

WordPressプラグイン「YARPP」と「Auto Post Thumbnail」を使用して関連記事を表示するのにようやく成功した | OZPAの表4

…が、この方法だとうちのサイトでは問題が。

うちのサイトは個別記事のサムネイル(正式名称は「アイキャッチ画像」)を表示しないデザインになっているので、僕もいちいち全ての記事についてサムネイルを設定することはしていません。上の方法を使うと、サムネイルを設定していない記事は、関連エントリに表示されなくなってしまいます。そこで、次のようにソースを修正してみました(ハイライト部分を追加)。

<?php if(have_posts()):?>
     <p>こっちの記事も合わせてどうぞ</p>
     <div class="related-post">
     <?php while(have_posts()) : the_post(); ?>
          <?php if(has_post_thumbnail()):?>
               <div class="related-entry"><a href="<?php the_permalink() ?>"rel="bookmark"title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail("thumbnail"); ?><br clear="all"><?php the_title(); ?></a></div>
          <?php else: ?>
               <div class="related-entry"><a href="<?php the_permalink() ?>"rel="bookmark"title="<?php the_title_attribute(); ?>"><img src="[デフォルトで表示させる画像のパス]" width=150 height=150><br clear="all"><?php the_title(); ?></a></div>
          <?php endif; ?>
     <?php endwhile; ?>
     </div>
<?php else: ?>
     <p>関連記事はありません</p>
<?php endif; ?>

こうしておけば、サムネイルが設定されていない記事には、デフォルトで表示させる画像が一律に表示されるようになります。

ググってもこのことについて触れたサイトが見つからなかったので、備忘のために記事にしておきます。

トラックバック URL

コメント & トラックバック

コメントはありません。

コメントフィード

コメント

皆さまのコメントが励みになっています。ありがとうございます。