WordPressサイトのアーカイブページで一覧で表示される投稿のアイキャッチ画像のサムネイル。
上下の中央、左右の中央でトリミングされてしまい、大きな画像の場合ですと意図しないイメージになってしまうことがあります。
上端から画像を表示したいのに……
画像をトリミングして作成しなおしたりするのは大変ですよね。😅
✨ サムネイル画像を上端から表示したい時に使える方法です。
テーマのfunction.php
に下記のコードを追加して保存するだけです。
※function.php
の変更はデータをバックアップしてから行うのがおすすめです。📂🔧
function custom_img_resize( $pld, $ow, $oh, $dw, $dh, $crp ){
if( false ) return $pld;
if ( $crp ) {
$ar = $ow / $oh;
$nw = min($dw, $ow);
$nh = min($dh, $oh);
if ( !$nw ) $nw = intval($nh * $ar);
if ( !$nh ) $nh = intval($nw / $ar);
$sr = max($nw / $ow, $nh / $oh);
$cw = round($nw / $sr);
$ch = round($nh / $sr);
$x = ($ow - $cw) / 2;
$y = 0;
} else {
$cw = $ow;
$ch = $oh;
$x = ($ow - $cw) / 2;
$y = 0;
list( $nw, $nh ) = wp_constrain_dimensions( $ow, $oh, $dw, $dh );
}
if ( $nw >= $ow && $nh >= $oh ) return false;
return array( 0, 0, (int) $x, (int) $y, (int) $nw, (int) $nh, (int) $cw, (int) $ch );
}
add_filter( 'image_resize_dimensions', 'custom_img_resize', 10, 6 );
これでサムネイル画像が上下の上端を基準点としてトリミングされて表示されます。🎉