bestsource

Wordpress 이미지 업로드에 연결

bestsource 2023. 6. 18. 16:10
반응형

Wordpress 이미지 업로드에 연결

Wordpress 웹 사이트의 경우 사용자가 사진을 업로드하는 동안 자동으로 추가 사진 크기를 생성합니다.저는 이 사진이 미디어 라이브러리에도 표시되기를 원합니다.

업로드 작업에 연결하기 위해 활성화하는 작은 플러그인을 작성했습니다.제 질문은 업로드된 이미지의 추가 크기를 생성하기 위해 어떤 WP 업로드 작업에 연결해야 하는지입니다.

현재 업로드하고 추가 이미지 항목을 작성하는 예를 환영합니다.

감사합니다!

wp_handle_upload_prefilter를 사용해 볼 수 있습니다.

add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
function custom_upload_filter( $file ){
    $file['name'] = 'wordpress-is-awesome-' . $file['name'];
    return $file;
}

위에 따라 업로드 작업을 후크하고 추가 이미지 생성과 같은 작업을 수행합니다.

function generate_image($src_file, $dst_file) {
     $src_img = imagecreatefromgif($src_file);
     $w = imagesx($src_img);
     $h = imagesy($src_img);

     $new_width = 520;
     $new_height = floor($new_width * $h / $w);

     if(function_exists("imagecopyresampled")){
         $new_img = imagecreatetruecolor($new_width , $new_height);
         imagealphablending($new_img, false);
         imagecopyresampled($new_img, $src_img, 0, 0, 0, 0, $new_width, $new_height, $w, $h);
     } else {
         $new_img = imagecreate($new_width , $new_height);
         imagealphablending($new_img, false);
         imagecopyresized($new_img, $src_img, 0, 0, 0, 0, $new_width, $new_height, $w, $h);
     }
     imagesavealpha($new_img, true);    
     imagejpeg($new_img, $dst_file);

     imageDestroy($src_img);
     imageDestroy($new_img);

     return $dst_file;
}

언급URL : https://stackoverflow.com/questions/28580429/hook-into-wordpress-image-upload

반응형