一番最初の画像を得る

ニュース系サイト等で、トップページに記事に使われている画像の一枚目を利用してヘッドライン風表示をしたい
などという時に使う。

本来はアイキャッチを使うのがベストだが、何らかの理由でアイキャッチを使っていなかった場合に有効。

get_children()というwpの関数を使い、一番番号の若い添付イメージを返す。

function echo_first_image ($postID , $type)
{					
	$args = array(
	'numberposts' => 1,
	'order'=> 'ASC',
	'post_mime_type' => 'image',
	'post_parent' => $postID,
	'post_status' => null,
	'post_type' => 'attachment'
	);
	
	$attachments = get_children( $args );
	
	///print_r($attachments);
	
	if ($attachments) {
		foreach($attachments as $attachment) {
			$image_attributes =  wp_get_attachment_image_src( $attachment->ID, $type );
				
			return '';
			
		}
	}
}

サムネールと併用の時は、こんな感じで使っている

 if ( has_post_thumbnail()) {
   $large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'medium');

	echo '<img src="'.$large_image_url[0].'">';

 }else{

	$imgurl = echo_first_image($post->ID,'medium');
	echo $imgurl;

}

コメント

タイトルとURLをコピーしました