ホーム > WordPress, コンピュータ > WordPress-function.php内のadd_image_sizeにて生成した画像をget_children関数から取得

WordPress-function.php内のadd_image_sizeにて生成した画像をget_children関数から取得

2012 年 9 月 21 日

photo by Bill A

WordPressのデフォルトで生成される画像は

  • サムネイル
  • 中サイズ
  • 大サイズ

の3種類がリサイズされ保存されます。

このサイズ以外にも画像をリサイズしてアップロード時に生成したい場合、function.php内に

<?php
add_image_size('size60', 60, 60, true);
?>

を記述し、対応しますが、ここで生成した画像を取り出すための方法として、get_children関数にて指定した投稿の添付ファイルIDを取得し、添付ファイルIDからwp_get_attachment_image関数を使用して、ユーザー指定名、ここでは上記add_image_sizeでつけている、’size60′で画像URLを取得します。

get_children関数:
get_children() は指定した投稿の添付ファイルページやサブページやリビジョンを取得します。投稿の一覧を取得する機能は get_posts() とほぼ同じです。

使用するパラメータ

  • post_parent:投稿ID
  • post_type: ‘attachment’ – 添付ファイル
  • post_mime_type:’image’ – 画像

post_parentに指定した投稿内の添付ファイルIDが配列で返されます。

wp_get_attachment_image関数:
使用するパラメータ

  • $attachment_id:添付ファイルID
  • $size:ユーザー指定名、ここでは上記add_image_sizeでつけている、’size60′

該当添付ファイルIDのユーザー指定名のimgタグを含んだ文字列が返されます。
画像URLのみの取得ではないことに注意。

下記コードで、最新投稿5件、サムネイル名’size60′を表示しています。

<ul>
<?php query_posts('posts_per_page=5'); ?>
<?php if(have_posts()): while(have_posts()):
the_post(); ?>

<?php
$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_image($num, $size='size60');
?>

	<li><?php print $thumb; ?><?php the_title(); ?></li>

<?php endif; ?>

<?php endwhile; endif; wp_reset_query(); ?>
</ul>

関連するエントリー

    None Found

WordPress, コンピュータ , , , , ,

  1. コメントはまだありません。
  1. トラックバックはまだありません。