So legen Sie eine Mindestbildgröße für das Hochladen fest

Ich möchte Mindestbildabmessungen für ein bestimmtes Eingabefeld mit id= "job_logo" in einem id= "job_logo" am Frontend id= "job_logo"

Entsprechend dieser Antwort Wie man eine minimale Bildmaße für das Hochladen erfordert?

Der folgende Code legt das Limit für alle Bilduploads fest

 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 "Image dimensions are too small. Minimum width is {$minimum['width']}px. Uploaded image width is $width px"); elseif ($height "Image dimensions are too small. Minimum height is {$minimum['height']}px. Uploaded image height is $height px"); else return $file; } 

Gibt es eine Möglichkeit, dies für ein bestimmtes Feld mit id = “job_logo” zu tun, dh

Es folgt die class des wp-Jobmanagers, die für das Einreichungsformular verwendet wird

https://github.com/Automatic/WP-Job-Manager/blob/c838d6ee3a3d0fd224d666bfee55f58517e10cf6/includes/forms/class-wp-job-manager-form-submit-job.php#L206

Dies ist der Code, mit dem ich das Upload-Bildfeld hinzugefügt habe

 add_filter( 'submit_job_form_fields', 'my_custom_tax' ); function my_custom_tax( $fields ) { $fields['job']['job_logo'] = array( 'label' => __( 'Logo', 'wp-job-manager' ), 'type' => 'file', 'required' => false, 'placeholder' => '', 'priority' => 1.15, 'ajax' => true, 'multiple' => false, 'allowed_mime_types' => array( 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'png' => 'image/png' ) ); return $fields; } 

Im Folgenden finden Sie die HTML-Ausgabe für das Upload-Logo-Bildfeld

  

Solutions Collecting From Web of "So legen Sie eine Mindestbildgröße für das Hochladen fest"

Das $file Array hat nichts, was Sie verwenden könnten, aber $GLOBALS hat einige hilfreiche Informationen. Sie können die Debugging-Zeile, die $GLOBALS enthält, $GLOBALS zu sehen, was sie enthält.

Ich habe eine Wächterklausel am Anfang der tc_handle_upload_prefilter function tc_handle_upload_prefilter . Dies stellt sicher, dass der Dateigrößenüberprüfungscode nur ausgeführt wird, wenn die Datei job_logo hochgeladen wird.

 add_filter('wp_handle_upload_prefilter','tc_handle_upload_prefilter'); function tc_handle_upload_prefilter($file) { // Debugging... //return array("error"=> print_r( $_POST, true ) ); //return array("error"=> print_r( $file, true ) ); //return array("error"=> print_r( $GLOBALS, true ) ); // This is helpful... //return array( "error"=> print_r( $GLOBALS['job_manager_uploading_file'], true ) ); // Now we're cooking! if ( ! isset( $GLOBALS['job_manager_uploading_file'] ) || ( 'job_logo' !== $GLOBALS['job_manager_uploading_file'] ) ) { return $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; }