メディアアップロードでアップロードする画像の数を1つ(投稿あたり)に制限する簡単な方法はありますか?
あなたが私を必要としているかどうか私にはわからないので、私は今のところコードの詳細に入ることはしません。基本的には、file_upload_limit
を1
に設定するためにSWFUpload
JavaScript設定配列を変更する必要があります。残念ながら、SWFUploadを使用すると、その設定変数をinit
edした後で変更できるようになるとは思われません。なぜなら、SWFUploadは既に設定を埋め込んだFlashを起動しているからです。
そのため、flash_uploader
フィルタをフックして「通常の」Flashアップローダを設定しないようにしてから、pre-upload-ui
アクションをフックし、WordPressと同じ変数を使用してFlash uploaderをセットアップする必要がありますが、file_upload_limit
設定を使用します。 (media.php
の1446行目で私の言っていることを見てください)。
そのようにした場合、ユーザーがFlashアップローダーを迂回するためにそれを使用できるように、HTMLのアップロードフォームも無効にする必要があります。
代わりに、現在のユーザーが特定の投稿の画像を既にアップロードしている場合は、アップロード要求を拒否するためにload-async-upload.php
アクション(admin.php
の202行目を参照)にフックすることができます。そのためには、ユーザーがFlash Uploaderで画像を選択する必要があり、アップロード後に「別のファイルをアップロードできません」というエラーが表示されます。