1

ワードプレスで画像をアップロードすると、その寸法がわかりました。画像が image.jpg と呼ばれるとしましょう。たとえば、wordpress で画像の URL の名前を image-w-180-h-200.jpg に変更する必要があります (画像の幅は 180 ピクセル、高さは 200 ピクセルです)。これらの詳細をURLに追加して、これらのパラメータを直接「取得」できる方法はありますか? (私の目標は、最終的には javascript を介して img の幅と高さを取得することですが、この方法では、img をプリロードして寸法を取得する必要はありません。wordpress は既に作業を行っています)

乾杯!

4

2 に答える 2

1

https://wordpress.stackexchange.com/questions/38582/hook-to-get-image-filename-when-it-is-uploadedから採用)

  function rename_image($results) {
   if( $results['type'] === 'image/jpeg' ) { // or /png or /tif / /whatever

     $filename = $results[ 'file' ]; // Use this line to add height and width of image;
     $url = $results[ 'url' ];

    // manipulate the image
   } 
 }

 add_action('wp_handle_upload', 'rename_image');

詳細については、示されたURLをお読みください

于 2012-12-11T00:26:03.763 に答える
1

もう 1 つの方法は、アップロード時にサムネイルのファイル名を変更することです。以下は、新しくアップロードされた画像の名前を変更するために機能します。

この他の WPSE Answer から: https://wordpress.stackexchange.com/a/51983/12615

追いつくと、これは完全に機能するコードです。

そして、理論的には、関数bt_image_make_intermediate_sizeを次のように変更する必要があります:テストされていません

function bt_image_make_intermediate_size( $file, $width, $height, $crop = false, $size ) 
{
    if ( $width || $height ) {
        $suffix = 'w-' . $width . '-h-' . $height;

        $resized_file = bt_image_resize( 
            $file, $width, $height, $crop, $suffix, null, 90 
        );

        if ( 
            !is_wp_error( $resized_file ) 
            && $resized_file 
            && $info = getimagesize( $resized_file ) 
        ) {
            $resized_file = apply_filters(
                'image_make_intermediate_size', 
                $resized_file
            );
            return array(
                'file' => wp_basename( $resized_file ),
                'width' => $info[0],
                'height' => $info[1],
            );
        }
    }
    return false;
}
于 2012-12-11T01:43:54.480 に答える