web-dev-qa-db-ja.com

WordPress 4.9.8でSVGをアップロードする方法は?

別のプラグインをインストールしてからアップロードしようとしました。さらに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 );

それでもSVGをアップロードすると、次のエラーが発生します。 SVG upload error 

2
Sarath

この質問は私の頭をかいていました。ええ、WordPressがこれをネイティブにサポートしていないのはどうしてですか?それから私はわかった。

あなたはWordPress 4.9.8(執筆時点での現在のバージョン)でSVGをアップロードする方法を尋ねました。あなたはあなたが「別のプラグインをインストールした後にアップロードしてみた」と述べています。あなたはどのプラグインについても、それらがSVGに関連しているかどうかも言いません。

私が状況を理解しているので、現時点で最も安全で最も適切な答えは、Darrell Doyleによる SVF Safe (この目的のために書かれたプラグイン)を使うことです。このプラグインがうまくいかない場合は、他の場所で競合があることをお勧めします。それを解決するには通常の手順に従うべきです。個人的には、このプラグインがうまくいかなかったら、SVGをアップロードするという概念をあきらめたいと思います。

まだ行っていないのであれば、Bjorn Johansenによる " SVGのアップロード - 不便な真実 "または/または " WordPressのSVGサポートを安全に有効にする方法 - 2つの簡単なクリック "ブライアンジャクソンによる。少なくとも、あなたは自分が何をしているのかを知っておくべきです。

4
Tedinoz
//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');
1
Rana umer

@ 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 );
0
Suraj Rathod