アップロード処理を制限して1つのファイルのみを選択することは可能です。今、人はPCから様々なファイルを選択することができます、私はちょうど1つのファイルにこの機能を制限する方法を見つけようとしています。
前もって感謝します。
WordPressには2つのメディアアップローダが含まれています。 Flashアップローダでは複数のファイルを選択できますが、ブラウザアップローダでは一度に1ファイルしか使用できません。
Flashアップローダを無効にするには、functions.phpに次のフィルタを追加します。
add_filter('flash_uploader', create_function('$flash', 'return false;'));
function disable_flash_uplaoder() {
return $flash = false;
}
add_filter( 'flash_uploader', 'disable_flash_uploader', 7 );
Chrisが答えた答えはNiceですが、実際にはアップロードを1ファイルのみに制限するわけではありません。したがって、ユーザーは必要なだけアップロードできますが、フラッシュアップローダーでのアップロードも1ファイルのみに制限できます。 wp_handle_upload_prefilter
フックを使用してファイルを作成するには、 を見てください。Mikesは、同様の質問に答えます 。
BUTTON_ACTION
設定 を使用して、1つのファイルのみを受け入れるようにFlashアップローダーを変更できます。これは、SWFUpload構成(WordPressでハードコード化されている)または生成されたSWFUploadオブジェクトの setButtonAction()
method を介して変更できますが、これはFlashファイルのロード後にのみ機能します。 swfupload_loaded_handler
フックにフックすることでこれを行うことができました。
var wpse15264_original_onload = SWFUpload.onload;
SWFUpload.onload = function() {
wpse15264_original_onload();
swfu.addSetting( 'swfupload_loaded_handler', function() {
this.setButtonAction( SWFUpload.BUTTON_ACTION.SELECT_FILE );
} );
}
post-html-upload-ui
フック を使用して、SWFUploadコードの後にこれを出力できます。
このコードは、swfupload_loaded_handler
イベントへのハンドラーをaddではなく、replaces現在のハンドラ。 WordPressはこのハンドラーを使用しないため、これは問題になりませんが、将来使用する場合は、元のハンドラーを保存して実行する必要があります(onload
ハンドラーで行ったように)。
もちろん、これは人々がアップローダーを複数回使用することを妨げるものではありません。その解決策については、Bainternetのリファレンスを参照してください。