WordPressの記事から、記事からサムネイル画像を取り出して表示させたくて以前は、プラグインを作っていたのですがもっとシンプルに表示させる方法が見つかったので紹介します。
表示させたい場所へテンプレートへ以下のコードを追加します。
記事の中で複数の画像を使っていても、1つの画像を表示します。このサイトでもサイドバーで利用しています。
<?php
query_posts(’showposts=10′);
if ( have_posts() ) : while ( have_posts() ) : the_post();
$files = get_children(“post_parent=$id&post_type=attachment&post_mime_type=image”);
if (!empty($files)){
$keys = array_keys($files);
$num=$keys[0];
$thumb=wp_get_attachment_thumb_url($num);
print ‘<a href=”‘ . clean_url(get_permalink()) . ‘” title=”‘ .the_title_attribute(‘echo=0′) . ‘”><img src=”‘ . clean_url($thumb) .’” width=”80″ height=”80″ alt=”‘ . the_title_attribute(‘echo=0′) . ‘” /></a>’ . “\n”;
}
endwhile;else:
endif;
?>
query_posts()のshowposts値を変更すると表示する記事の件数を指定出来ます。
img srcの部分の画像のサイズは、利用しているWordPressの設定で変わるので、お使いの環境に合わせて変更してください。
追記
Yuriko.Net さんよりご指摘いただいたので、書いていたこの部分を
print “<a href=\”".get_permalink().”\” title=\”$post->post_title\”><img src=\”$thumb\” width=\”80\” height=\”80\” alt=\”$post->post_title\” /></a>\n”;
と変更いたしました。
print ‘<a href=”‘ . clean_url(get_permalink()) . ‘” title=”‘ .the_title_attribute(‘echo=0′) . ‘”><img src=”‘ . clean_url($thumb) .’” width=”80″ height=”80″ alt=”‘ . the_title_attribute(‘echo=0′) . ‘” /></a>’ . “\n”;
確かにHTMLエスケープしてませんでした。ありがとうございました。
タグ: WordPress








[...] Ktai Style 1.61-rc1に同梱した Photolog テーマは、WordPress のメディアライブラリに登録された画像を探して、投稿一覧に貼り付けるという動作をしています。こういう動作は最近人気があるようで(?)、ひろまささんが wp-kougabu に機能追加したりしています。さきほど見つけたのは「WordPressの最新の記事から画像を一覧表示する」というコードでした。 [...]
確かにHTMLエスケープしてませんでした。記事内のコードを訂正させていただきました。ご指摘ありがとうございます。
[...] code sample [...]
[...] サムネイル表示はこちらの記事を参考にさせていただきました。久しぶりにジックリWordPressをいじったのですが、このシンプルな使いやすさ、やっぱいいですね。 [...]
[...] この記事は、『beabo』さんの所で紹介されています。 [...]
はじめまして。
このコードを使ってトップページに最新画像一覧を表示出来るようになりました。ありがとうございます。
ちなみに、その画像の下に記事のタイトルを表示させたいのですが、どの様にすれば良いかご教示いただけないでしょうか?