web-dev-qa-db-ja.com

投稿ごとにアップロードする画像の数を制限する

メディアアップロードでアップロードする画像の数を1つ(投稿あたり)に制限する簡単な方法はありますか?

3
josoroma

あなたが私を必要としているかどうか私にはわからないので、私は今のところコードの詳細に入ることはしません。基本的には、file_upload_limit1に設定するためにSWFUpload JavaScript設定配列を変更する必要があります。残念ながら、SWFUploadを使用すると、その設定変数をinitedした後で変更できるようになるとは思われません。なぜなら、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で画像を選択する必要があり、アップロード後に「別のファイルをアップロードできません」というエラーが表示されます。

1
Joe Hoyle