別のプラグインをインストールしてからアップロードしようとしました。さらにfunctions.phpファイルにフィルタを追加しました。
function add_svg_to_upload_mimes( $upload_mimes ) {
$upload_mimes['svg'] = 'image/svg+xml';
$upload_mimes['svgz'] = 'image/svg+xml';
return $upload_mimes;
}
add_filter( 'upload_mimes', 'add_svg_to_upload_mimes', 10, 1 );
この質問は私の頭をかいていました。ええ、WordPressがこれをネイティブにサポートしていないのはどうしてですか?それから私はわかった。
あなたはWordPress 4.9.8(執筆時点での現在のバージョン)でSVGをアップロードする方法を尋ねました。あなたはあなたが「別のプラグインをインストールした後にアップロードしてみた」と述べています。あなたはどのプラグインについても、それらがSVGに関連しているかどうかも言いません。
私が状況を理解しているので、現時点で最も安全で最も適切な答えは、Darrell Doyleによる SVF Safe (この目的のために書かれたプラグイン)を使うことです。このプラグインがうまくいかない場合は、他の場所で競合があることをお勧めします。それを解決するには通常の手順に従うべきです。個人的には、このプラグインがうまくいかなかったら、SVGをアップロードするという概念をあきらめたいと思います。
まだ行っていないのであれば、Bjorn Johansenによる " SVGのアップロード - 不便な真実 "または/または " WordPressのSVGサポートを安全に有効にする方法 - 2つの簡単なクリック "ブライアンジャクソンによる。少なくとも、あなたは自分が何をしているのかを知っておくべきです。
//add SVG to allowed file uploads
function add_file_types_to_uploads($file_types){
$new_filetypes = array();
$new_filetypes['svg'] = 'image/svg+xml';
$file_types = array_merge($file_types, $new_filetypes );
return $file_types;
}
add_action('upload_mimes', 'add_file_types_to_uploads');
@ rana-umerあなたのコードが正しい場合、「image/svg」の後に「+ xml」を削除するだけです。
//add SVG to allowed file uploads
function add_file_types_to_uploads($file_types){
$new_filetypes = array();
$new_filetypes['svg'] = 'image/svg';
$file_types = array_merge($file_types, $new_filetypes );
return $file_types;
}
add_action('upload_mimes', 'add_file_types_to_uploads');
pload_mimesアクションを追加した後、まだ問題に直面している人なら誰でもwp-config.phpファイルにこれを追加します
define( 'ALLOW_UNFILTERED_UPLOADS', true );