functions.php に、svg ファイルをアップロード可能にするコード

/**
* SVGアップロードを許可(管理者のみ)
* - upload_mimes で SVG を許可
* - wp_check_filetype_and_ext で MIME 判定を補正(WP5.1+の厳格化対策)
* - 管理画面のサムネ表示を崩れないように調整
*/

// 1) 管理者のみ SVG を許可
add_filter('upload_mimes', function ($mimes) {
if ( current_user_can('manage_options') ) { // 管理者権限のみ
$mimes['svg'] = 'image/svg+xml';
}
return $mimes;
});

// 2) MIME 判定の補正(SVG なのに弾かれるケース対策)
add_filter('wp_check_filetype_and_ext', function ($data, $file, $filename, $mimes, $real_mime) {
$is_svg_ext = preg_match('/\.svg$/i', $filename);

// 実ファイルのMIMEがSVG、もしくは拡張子がsvgなら補正
if ( $is_svg_ext || $real_mime === 'image/svg+xml' ) {
$data['ext'] = 'svg';
$data['type'] = 'image/svg+xml';
}
return $data;
}, 10, 5);

// 3) 管理画面のメディアサムネで縦横比が崩れないようにする
add_action('admin_head', function () {
echo '



';
});

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です