web-dev-qa-db-ja.com

Wordpress 3.5 Media Uploader - 1回のアップロードと特定のファイルタイプのみを許可する

カスタムメタボックスに新しいWP Media Uploaderを含めようとしています。

私はこのチュートリアルを見つけました。

しかし、私はアップローダが 'application/msword'、 'application/vnd.ms-Excel'、 'application/pdf'などの特定の種類のファイルのみを受け入れるように制限し、リンクされた文書を返す方法を探しています。メタボックスにあるテキストフィールドのURL

アイデア、リンク、あるいは基本的に正しい方向を示すものであれば何でもお勧めします。

1
tiaanswart

指定したファイルの種類 'application/msword'、 'application/vnd.ms-Excel'、 'application/pdf'は既にメディアアップローダでサポートされています。

サポートされているデフォルトのMIMEファイルタイプを確認するには、 wp_get_mime_types() 関数を呼び出します。

次のコードに示すように、 upload_mimes フィルタを使用して、メディアアップローダがデフォルト以外の種類のファイルを受け入れるようにします。

Themes functions.phpファイルに次のコードを追加してください。

// Add the filter
add_filter('upload_mimes', 'custom_upload_mimes');

function custom_upload_mimes ( $existing_mimes=array() ) {

// Add file extension 'extension' with mime type 'mime/type'
$existing_mimes['prc'] = 'application/x-mobipocket'; 

// and return the new full result
return $existing_mimes; 
}
1
Vinod Dalvi

Vinod Dalviが言ったように、必要なものを達成するために、フィルタupload_mimesを使うことができます。あなたが使用して既存のMIMEタイプを登録解除することができます

unset($mime_types['pdf']);

次に配列に追加して新しい型を追加します。

$mime_types['avi'] = 'video/avi';

例えば

function my_myme_types($mime_types){
    $mime_types['avi'] = 'video/avi'; //Adding avi extension
    unset($mime_types['pdf']); //Removing the pdf extension
    return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

これは ここから取られます

あなたは言う :

メディアアップロードの特定のインスタンスに対して、選択したMIMEタイプのみにMIMEタイプを制限する方法標準のWPエディタのアップロードをそれらと同じMIMEタイプに制限したくない

Mimeの種類を1種類のアップローダーに限定するという意味ですか?他の「インスタンス」のメディアアップローダがある場合は、「禁止されている」メディアタイプがアップロードされる可能性があるため、関係するロジックはわかりません。

0
Overdose