Как разрешить загрузку SVG файлов в WordPress?

В целях безопасности в WordPress отключена возможность загрузки файлов SVG, но данным снипетом кода это можно легко исправить.


/**
 * Добавляем новый тип файлов SVG для загрузки в медиабиблиатеку.
 * @param $mime_types
 * @return array
 */
add_filter( 'mime_types', function( $mime_types ){
// проверим роль пользователя и тип данных
    if( !is_array( $mime_types ) || !current_user_can( 'administrator' ) ) return $mime_types;

// разрешаем SVG для загрузки в медиа библиотеку
    $mime_types['svg'] = 'image/svg+xml';
    $mime_types['svgz'] = 'image/svg+xml';

    return $mime_types;

} );

Обратите внимание, что привязывать функцию нужно к фильтру «mime_types», а не «upload_mimes», как множество примеров в интернете. Об этом явно указано в комментариях к функции в ядре WordPress

function wp_get_mime_types() {
	/**
	 * Filters the list of mime types and file extensions.
	 *
	 * This filter should be used to add, not remove, mime types. To remove
	 * mime types, use the {@see 'upload_mimes'} filter.
	 *
	 * @since 3.5.0
	 *
	 * @param string[] $wp_get_mime_types Mime types keyed by the file extension regex
	 *                                 corresponding to those types.
	 */
	return apply_filters(
		'mime_types',
		array(

Вливайтесь в общение

1 комментарий

  1. Привет! Это комментарий.
    Чтобы начать модерировать, редактировать и удалять комментарии, перейдите на экран «Комментарии» в консоли.
    Аватары авторов комментариев загружаются с сервиса Gravatar.

Оставьте комментарий

Добавить комментарий

%d такие блоггеры, как: