저자가 특정 크기의 이미지를 업로드하지 못하도록 제한하는 방법이 필요합니다.
400px x 400px 이상의 이미지 만 업로드하고 싶다고 가정 해 보겠습니다. 이미지 크기가 작 으면 작성자가 이미지가 너무 작다는 오류 알림을받습니다.
이 작업을 수행 할 수있는 플러그인 또는 코드가 있습니까?
저자가 특정 크기의 이미지를 업로드하지 못하도록 제한하는 방법이 필요합니다.
400px x 400px 이상의 이미지 만 업로드하고 싶다고 가정 해 보겠습니다. 이미지 크기가 작 으면 작성자가 이미지가 너무 작다는 오류 알림을받습니다.
이 작업을 수행 할 수있는 플러그인 또는 코드가 있습니까?
답변:
이 코드를 테마의 functions.php 파일에 추가하면 최소 이미지 크기가 제한됩니다.
add_filter('wp_handle_upload_prefilter','tc_handle_upload_prefilter');
function tc_handle_upload_prefilter($file)
{
$img=getimagesize($file['tmp_name']);
$minimum = array('width' => '640', 'height' => '480');
$width= $img[0];
$height =$img[1];
if ($width < $minimum['width'] )
return array("error"=>"Image dimensions are too small. Minimum width is {$minimum['width']}px. Uploaded image width is $width px");
elseif ($height < $minimum['height'])
return array("error"=>"Image dimensions are too small. Minimum height is {$minimum['height']}px. Uploaded image height is $height px");
else
return $file;
}
그런 다음 원하는 최소 치수의 숫자를 변경하십시오 (제 예에서는 640 및 480입니다)
동료의 코드를 다시 포맷하지 않는 것이 좋습니다.
그래서,이 MaorBarazany의 @와 거의 같은 대답이지만, 변화, 마임 유형을 확인 file['error']
선언이 wpse 질문 ID로 기능 네임 스페이스를 변경.
또한 관리자 가 아닌 사용자에 대해서만 검사가 수행됩니다 .
add_action( 'admin_init', 'wpse_28359_block_authors_from_uploading_small_images' );
function wpse_28359_block_authors_from_uploading_small_images()
{
if( !current_user_can( 'administrator') )
add_filter( 'wp_handle_upload_prefilter', 'wpse_28359_block_small_images_upload' );
}
function wpse_28359_block_small_images_upload( $file )
{
// Mime type with dimensions, check to exit earlier
$mimes = array( 'image/jpeg', 'image/png', 'image/gif' );
if( !in_array( $file['type'], $mimes ) )
return $file;
$img = getimagesize( $file['tmp_name'] );
$minimum = array( 'width' => 640, 'height' => 480 );
if ( $img[0] < $minimum['width'] )
$file['error'] =
'Image too small. Minimum width is '
. $minimum['width']
. 'px. Uploaded image width is '
. $img[0] . 'px';
elseif ( $img[1] < $minimum['height'] )
$file['error'] =
'Image too small. Minimum height is '
. $minimum['height']
. 'px. Uploaded image height is '
. $img[1] . 'px';
return $file;
}
후크의 결과 :