Se vi dovesse capitare di dover caricare dei fonts personalizzati in WordPress, da uploader creati da temi o plugins esterni, ma purtroppo vi ritroviaste con la scritta: “impossbile caricare questo tipo di file“, allora ecco la soluzione via PHP e senza isntallare alcun plugins.
Vi basta inserire questo codice nel vostro file functions.php
/** * Fix per il check del file in WP */ function mm_fix_checker_wp_upload( $data, $file, $filename, $mimes, $real_mime ) { if ( ! empty( $data['ext'] ) && ! empty( $data['type'] ) ) { return $data; } // Prendo il tipo di file appena caricato $wp_file_type = wp_check_filetype( $filename, $mimes ); // Controlla il tipo di file da abilitare if ( 'woff' === $wp_file_type['ext'] ) { $data['ext'] = 'woff'; $data['type'] = 'font/woff'; } if ( 'woff2' === $wp_file_type['ext'] ) { $data['ext'] = 'woff2'; $data['type'] = 'font/woff2'; } if ( 'ttf' === $wp_file_type['ext'] ) { $data['ext'] = 'ttf'; $data['type'] = 'font/ttf'; } if ( 'otf' === $wp_file_type['ext'] ) { $data['ext'] = 'otf'; $data['type'] = 'font/otf'; } return $data; } add_filter( 'wp_check_filetype_and_ext', 'mm_fix_checker_wp_upload', 10, 5 ); /** * Abilito il caricamento dei fonts */ function mm_abilita_fonts ( $mimes ) { $mimes['woff'] = 'font/woff'; $mimes['woff2'] = 'font/woff2'; $mimes['ttf'] = 'font/ttf'; $mimes['otf'] = 'font/otf'; return $mimes; } add_filter( 'upload_mimes', 'mm_abilita_fonts' );
In questo modo potrete caricare via media upload, i vostri fonts, senza ricevere errori.
non è più comodo e veloce usare: define(‘ALLOW_UNFILTERED_UPLOADS’, true);
ho utilizzato questo per il mio blog sarao.it pensi che sia una cattiva pratica aprire a tutti i file?
Se lo fai ti bucano il sito. E’ una modalità che deve essere usata solo per test