このプラグインを使用して、投稿のおすすめ画像のURLをヘッダーに表示します。
<?php
/** Plugin Name: Post Thumbnail FB header */
function fb_header()
{
// Not on a single page or post? Stop here.
if ( ! is_singular() )
return;
$post_ID = get_queried_object_id();
// We got no thumbnail? Stop here.
if ( ! has_post_thumbnail( $post_ID ) )
return;
// Get the Attachment ID
$att_ID = get_post_thumbnail_id( $post_ID );
// Get the Attachment
$att = wp_get_attachment_image_src( $att_ID );
printf(
'<link rel="image_src" href="%s" />'
,array_shift( $att )
);
}
add_action( 'wp_head', 'fb_header' );
?>
現状では、エコーは注目のイメージです。おすすめ画像のラージバージョンのURLをエコーするようにします。 これを行うにはどうすればよいですか?注目すべきすべての画像に大きなバージョンがあります。
wp_get_attachment_image_src()
の2番目のパラメータ:$size
を使用します。
$att = wp_get_attachment_image_src( $att_ID, 'large-thumb' );
または
$att = wp_get_attachment_image_src( $att_ID, array ( 900, 300 ) );
サイズはimage_downsize()
に渡され、そこからimage_get_intermediate_size()
に渡されます。 $size
が配列の場合、WordPressは既存の画像の中から最適なものを探します。
// from wp-includes/media.php::image_get_intermediate_size()
// get the best one for a specified set of dimensions
if ( is_array($size) && !empty($imagedata['sizes']) ) {
foreach ( $imagedata['sizes'] as $_size => $data ) {
// already cropped to width or height; so use this size
if ( ( $data['width'] == $size[0] && $data['height'] <= $size[1] ) || ( $data['height'] == $size[1] && $data['width'] <= $size[0] ) ) {
$file = $data['file'];
list($width, $height) = image_constrain_size_for_editor( $data['width'], $data['height'], $size );
return compact( 'file', 'width', 'height' );
}