Home > wordpress > [WP]Wordpress2.5~2.6 サムネイル画像を取得して表示

[WP]Wordpress2.5~2.6 サムネイル画像を取得して表示

テンプレート内でサムネイルを表示する方法について。
サムネイル(中)をカテゴリーで表示したいと思ったとき、自動でサムネイル作られるならそれ表示するようにすればいいじゃん、と思いませんか。

でもwordpress2.5~2.6ではthumbnailが小、mediumが中という分け方をしてるが、ファイル名にはなぜかファイルサイズが付く。
ギャラリーというサムネイル自動表示の新機能があるんだけど、ショートコードだからテンプレートのソースコードでは使えない。
ファイル名は*-thumbnail.jpgとか*-medium.jpgとかでいいじゃん、という気がする。
というかむしろそちらの方が便利だと思う。ので修正されないかなあ…(期待)

自動作成された、これら名前のバラバラなサムネイルをテンプレートで自動取得する方法があった。

media.phpの関数を使うと、ループ内でサムネイルを表示するようにすることが出来るようになる。
ネタ元:WordPress › Support » 2.5 How to create a category template for a gallery ?
もともとはgallery機能で使われてる関数らしい。

PHP:
  1. <?php $attachments = get_children(array('post_parent' => get_the_ID(), 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order'));
  2.         if ( ! is_array($attachments) ) continue;
  3.         $count = count($attachments);
  4.         $first_attachment = array_shift($attachments); ?>
  5. <?php echo wp_get_attachment_image($first_attachment->ID); ?>

上のコードではサムネイル(小)のイメージタグだけ出力される。

小サイズのURLだけ▼

PHP:
  1. $img_url = wp_get_attachment_thumb_url(intval($first_attachment->ID));
  2. print($img_url);

中サイズを出力▼

PHP:
  1. <?php $attachments = get_children(array('post_parent' => get_the_ID(), 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order'));
  2.     if (  is_array($attachments) ){
  3.     $count = count($attachments);
  4.     $first_attachment = array_shift($attachments);
  5.     $image=  image_downsize(intval($first_attachment->ID));
  6.     list($src, $width, $height) = $image;
  7.     $hwstring = image_hwstring($width, $height);
  8.     if ( is_array($size) )
  9.         $size = join('x', $size);
  10.     echo '<img src="'.attribute_escape($src).'" '.$hwstring.'class="attachment-'.attribute_escape($size).'" />';
  11.     } ?>

フルサイズのURL▼

PHP:
  1. <?php $attachments = get_children(array('post_parent' => get_the_ID(), 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order'));
  2.     if (  is_array($attachments) ){
  3.     $count = count($attachments);
  4.     $first_attachment = array_shift($attachments);
  5.     $img_url = wp_get_attachment_url(intval($first_attachment->ID));
  6.     print($img_url);
  7. }?>

でもこれリサイズが再計算なら設定変えたら表示されなくなりそうだ。。

Youこっちも見て行きなYO!

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

Comments:5

shu 09-04-06 (月) 17:49

大サイズを出力するにはどのように書けばいいのでしょうか?
教えて下さい

Tenderfeel 09-04-07 (火) 13:06

長くなったので関数作って記事にしました。
<a href="http://tenderfeel.xsrv.jp/wordpress/513/" rel="nofollow">[wp] Wordpress2.7 記事に添付された画像を取得して表示</a>
をご覧下さい

shu 09-04-08 (水) 11:39

ありがとうございました!
とても便利な関数ですね!

ろばこ 09-08-12 (水) 2:55

こんばんわ。
サムネイルにaltを入れるには、どうしたらよいでしょうか?

indexページに、サムネイルをたくさん並べるようにしたので、
ものすごい数のエラーが出てしまうので、回避したいと思います。
もしよろしければ教えてください。

Tenderfeel 09-08-19 (水) 13:07

ろばこさん>

中サイズのソースでしょうか?
最後の方にあるechoから始まる行にaltを追加すれば直ると思います。

<code>echo '<img src="'.attribute_escape($src).'" '.$hwstring.'class="attachment-'.attribute_escape($size).'" alt="" />';</code>

Comment Form
Remember personal info

Trackbacks:7

Trackback URL for this entry
http://tenderfeel.xsrv.jp/wordpress/129/trackback/
Listed below are links to weblogs that reference
[WP]Wordpress2.5~2.6 サムネイル画像を取得して表示 from WebTecNote
pingback from 2009/02/11に気になったこと | debeso 09-02-12 (木) 0:02

[...] [WP]Wordpress2.5 サムネイル画像を取得して表示 - WebTecNote wp_get_attachment_thumb_urlで画像を取得 [...]

pingback from FootPrint » サムネイル表示に悩む 09-02-23 (月) 23:48

[...] 参考サイト:WebTecNote  サムネイル画像を取得して表示 [...]

pingback from oganosin blog - Wordpress で記事に関連付けられたイメージのサムネイルを取得 09-06-01 (月) 17:15

[...] [WP]Wordpress2.5~2.6 サムネイル画像を取得して表示 [...]

pingback from xml « semiactdesignandcrafts™|graphic+webcreation 09-11-26 (木) 17:12

[...] http://tenderfeel.xsrv.jp/wordpress/129/ 参考になりました。 /////// postedat ; November 26, 2009 _17:12 /// tags ; [...]

pingback from メモ wordpressでサムネイル画像を読み込んで表示する(手動ギャラリー) « ゴーゴーウェブマーケット技術BLOG 10-03-11 (木) 13:49

[...] 参考 http://tenderfeel.xsrv.jp/wordpress/129/ tweetmeme_url = ‘http://techblog.55w.jp/?p=125′;tweetmeme_source = ‘gogoweb_ikeda’;tweetmeme_style = ‘compact’; [...]

pingback from いろんなサイズの画像URLを取得 | Satake Studio Developer's Blog 10-04-19 (月) 19:04

[...]   参考したページ:画像URLの取得、画像ファイルの情報を取得する、2.5 How to create a category template for a gallery ?、Wordpress2.5~2.6 サムネイル画像を取得して表示、カスタムフィールドに登録した画像のサムネールやらを取得する。、WordPress 2.1 のアタッチメント API [...]

pingback from Feed Wrangler関連。 | WPNOB 11-03-03 (木) 16:39

[...] 他参考になりそうなのまとめよ。 WordPress2.5~2.6 サムネイル画像を取得して表示 feed設定もろもろ カテゴリー: 未分類   パーマリンク ← Google XML Sitemapsを入れてみる。 [...]

Home > wordpress > [WP]Wordpress2.5~2.6 サムネイル画像を取得して表示

最近の投稿
最近の修正
Tag Cloud
おすすめサーバー・他
メタ情報

Return to page top