Ékezetes fájlnevek átnevezése feltöltéskor

Olvasási idő: 1 perc

Már több ügyfelem, és magam is belefutottam abba a problémába, hogy a fejlesztőkörnyezetben bátran töltögettük fel a képeket, nem figyelve arra, hogy a nevükben van-e ékezet. Aztán amikor költöztetni akkor jött a meglepetés: az ékezetes nevű fájlokat nem tudjuk másolni. Ez a kódrészlet erre a problémára ad megoldást:

	add_filter( 'sanitize_file_name', 'bs_slugify_filename' );
	function bs_slugify_filename( $filename, $filename_raw ) {
		$extension = substr($filename, strrpos($filename, '.') + 1);
		$filename  = substr($filename, 0, strrpos($filename, '.'));

	    return sanitize_title( $filename ) . '.' . $extension;
	}

Úgy kell beállítani hogy az admin felületen fusson csak. Kivéve ha a weboldalon a felhasználónak is van valami olyan képfeltöltési lehetősége ami a WordPress beépített képfeltöltőjét használja.

FONTOS: ez a kódrészlet csak feltöltéskor nevezi át a fájlokat. A már feltöltött fájloknál ez nem működik.

Ez a kódrészlet WP snippets sorozatom részét képezi. Ha nem tudod, hol vagy hogy kell beállítani ezt, akkor olvasd el ezt a cikket.

Menü bezárása