<?php
/**
* 管理者ユーザーによるSVGアップロードを許可します。
* @param array $upload_mimes 許可されるMIMEタイプ。
* @return mixed
*/
add_filter(
'upload_mimes',
function ( $upload_mimes ) {
// デフォルトでは、管理者ユーザーのみがSVGを追加できます。
// 他のユーザータイプにも許可する場合は、以下の行を編集またはコメントアウトしてください。ただし、
// すべてのユーザーにSVGファイルのアップロードを許可するとセキュリティリスクが生じることに注意してください。
if ( ! current_user_can( 'administrator' ) ) {
return $upload_mimes;
}
$upload_mimes['svg'] = 'image/svg+xml';
$upload_mimes['svgz'] = 'image/svg+xml';
return $upload_mimes;
}
);
/**
* SVGファイルのMIMEタイプチェックを追加。
* 実際の MIME タイプ。タイプが判別できない場合は false。
*/
add_filter(
'3ss7cp_check_filetype_and_ext',
function ( $3ss7cp_check_filetype_and_ext, $file, $filename, $mimes, $real_mime ) {
if ( ! $3ss7cp_check_filetype_and_ext['type'] ) {
$check_filetype = 3ss7cp_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;
}
$3ss7cp_check_filetype_and_ext = compact( 'ext', 'type', 'proper_filename' );
}
return $3ss7cp_check_filetype_and_ext;
},
10,
5
);
最終更新日: 2025-12-05