1

ワードプレスは、一般的に画像を適切にサポートしています。

新しい画像サイズを取得するには、次のような関数を追加するだけです。

add_theme_support( 'post-thumbnails' ); //thumnails
set_post_thumbnail_size( 200, 120, true ); // Normal post thumbnails
add_image_size( 'single-post-thumbnail', 400, 300,False ); // single-post-test
add_image_size( 'tooltip', 100, 100, true ); // Tooltips thumbnail size
/// and so on and so on 

私の質問は:

誰かがこれらの関数を動的に動作させるにはどうすればよいですか?つまり、これらのサイズはアップロード時に計算されますか?

例-3000x4000ピクセルの画像をアップロードする場合-画像サイズを次のようにします:

 add_image_size( 'half', 50%, 350%, False ); // Half the original
 add_image_size( 'third', 30%, 30%, true ); // One Third the original

それを行う方法はありますか?どこに引っ掛ければいいですか?それらの画像サイズは多くの機能で登録されて使用されます-誰かがそれを達成するための超創造的な方法を考えることができますか?

4

2 に答える 2

2

または、フィルターを使用することもできますimage_resize_dimensions

そのような奇妙な幅と高さの新しい画像を設定しました

add_image_size('half', 101, 102);

次に、画像の半分のサイズがサイズ変更されている場合にのみ、フィルターを使用して画像を半分にします

add_filter( 'image_resize_dimensions', 'half_image_resize_dimensions', 10, 6 );

function half_image_resize_dimensions( $payload, $orig_w, $orig_h, $dest_w, $dest_h, $crop ){
    if($dest_w === 101){ //if half image size
        $width = $orig_w/2;
        $height = $orig_h/2;
        return array( 0, 0, 0, 0, $width, $height, $orig_w, $orig_h );
    } else { //do not use the filter
        return $payload;
    }
}
于 2014-03-23T19:50:14.743 に答える
1

wp_get_attachment_image_srcを使用して、添付ファイルの縮小画像を取得できます。この場合、ファイルで指定するだけadd_theme_support( 'post-thumbnails' )functions.php、テンプレートで次の手順を実行できます。

$id = get_post_thumbnail_id($post->ID)
$orig = wp_get_attachment_image_src($id)
$half = wp_get_attachment_image_src($id, array($orig[1] / 2, orig[2] / 2))
$third = wp_get_attachment_image_src($id, array($orig[1] / 3, orig[2] / 3))
etc...
于 2012-03-31T06:12:37.123 に答える