Imsanity Skalierung deaktivieren für bestimmte Post Types

Imsanity ist ein Plugin, auf das ich selten verzichte und ich möchte dir zeigen, wie du die automatische Imsanity Skalierung deaktivieren kannst. Das Plugin skaliert automatisch hochgeladene, riesige Bilder in eine Größe, die für das Web geeignet sind. Aber manchmal braucht man wirklich große Bilder. Ich benötige es für jeden Post vom Custom Post Type „slider“. Das Problem ist, dass es seitens Imsanity keine Hooks gibt, um die Funktion für bestimmte Post Types zu deaktivieren. Du kannst nur den Dateinamen überprüfen.

Ich habe einen Workaround geschrieben, um den String im Dateinamen abzufragen, ob er „noresize“ enthält.


/**
 * Imsanity Skalierung deaktivieren
 * https://wp-bibel.de/snippet/imsanity-skalierung-deaktivieren-fuer-post-types/
 */

function wp_bibel_de_wp_handle_upload_prefilter( $file ) {

	if( get_post_type( $_REQUEST['post_id'] ) == 'slider' )
		$file['name'] = 'noresize_' . $file['name'];
	
	return $file;
}

add_filter( 'wp_handle_upload_prefilter' , 'wp_bibel_de_wp_handle_upload_prefilter' );

Ich benutze den Standard-Filter von WordPress, um die Post Types abzufragen um beim Hochladen die Datei automatisch umzubenennen. Dann ignoriert das Imsanity Plugin die Datei und die Datei wird nicht skaliert. Das ist nicht nur einfach sondern auch effektiv!

Vielen Dank für den Gastbeitrag.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.