Biblioteca de códigos

Home / Códigos WordPress / Permitir upload SVG WordPress

Permitir upload SVG WordPress

Habilita o upload de arquivos svg para a galeria de mídia do WordPress.

30

Para permitir o upload de arquivos SVG no WordPress, é crucial seguir alguns passos essenciais. Primeiramente, certifique-se de que sua versão do WordPress está atualizada, pois versões mais antigas podem não oferecer suporte nativo a SVG. Em seguida, acesse as configurações do seu tema e verifique se a opção de permitir o upload de SVG está ativada. Isso pode ser feito facilmente nas configurações do tema, geralmente encontradas na seção “Mídia”. Caso não encontre essa opção, é possível adicionar um código personalizado ao arquivo functions.php do seu tema, utilizando a função add_filter.

Ao realizar a configuração mencionada, você estará habilitando explicitamente o WordPress para permitir o upload de arquivos SVG. Isso é crucial para usuários que desejam integrar gráficos vetoriais escaláveis em seus sites, proporcionando uma experiência visual mais flexível e dinâmica. Lembre-se de que, ao permitir o upload de SVG no WordPress, é importante garantir a segurança do seu site. Certifique-se de que apenas arquivos SVG seguros sejam permitidos para evitar potenciais ameaças de segurança.

Implementação de upload de SVG no WordPress em código

Se você preferir uma abordagem mais direta, a implementação de upload de SVG no WordPress pode ser realizada através de código. Utilize o seguinte trecho de código no arquivo functions.php do seu tema para habilitar essa funcionalidade:

/**
 * Allow SVG uploads for administrator users.
 *
 * @param array $upload_mimes Allowed mime types.
 *
 * @return mixed
 */
add_filter(
	'upload_mimes',
	function ( $upload_mimes ) {
		// By default, only administrator users are allowed to add SVGs.
		// To enable more user types edit or comment the lines below but beware of
		// the security risks if you allow any user to upload SVG files.
		if ( ! current_user_can( 'administrator' ) ) {
			return $upload_mimes;
		}

		$upload_mimes['svg']  = 'image/svg+xml';
		$upload_mimes['svgz'] = 'image/svg+xml';

		return $upload_mimes;
	}
);

/**
 * Add SVG files mime check.
 *
 * @param array        $wp_check_filetype_and_ext Values for the extension, mime type, and corrected filename.
 * @param string       $file Full path to the file.
 * @param string       $filename The name of the file (may differ from $file due to $file being in a tmp directory).
 * @param string[]     $mimes Array of mime types keyed by their file extension regex.
 * @param string|false $real_mime The actual mime type or false if the type cannot be determined.
 */
add_filter(
	'wp_check_filetype_and_ext',
	function ( $wp_check_filetype_and_ext, $file, $filename, $mimes, $real_mime ) {

		if ( ! $wp_check_filetype_and_ext['type'] ) {

			$check_filetype  = wp_check_filetype( $filename, $mimes );
			$ext             = $check_filetype['ext'];
			$type            = $check_filetype['type'];
			$proper_filename = $filename;

			if ( $type && 0 === strpos( $type, 'image/' ) && 'svg' !== $ext ) {
				$ext  = false;
				$type = false;
			}

			$wp_check_filetype_and_ext = compact( 'ext', 'type', 'proper_filename' );
		}

		return $wp_check_filetype_and_ext;

	},
	10,
	5
);

Deixe seu insight abaixo!

Continue lendo

Método Scrum: framework para projetos complexos

Com o método scrum fica muito mais fácil e objetivo lidar com problemas complexos, distribuí-los [...]

A importância de fazer o levantamento de requisitos para um sistema

Uma das etapas mais importantes do processo de desenvolvimento de um software ou sistema é [...]

1 Comments

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Abrir WhatsApp
1
Oi! Tudo bom? 👋🏻
Qual ideia iremos desenvolver hoje?