質問: 最大アップロードファイルサイズを減らす方法 私のウェブサイトには投稿を公開できる作者がたくさんいますが、そのうちの何人かは1mより大きい画像をアップロードしています、そして私は最大アップロードサイズを500 kbに減らしたいです。
回答: wp_handle_upload()関数 で使用されているwp_handle_upload_prefilterフックでは、特定のサイズ(または他の理由で)のアップロードを禁止できます。それは渡されたファイル配列を取得します、それは php標準スーパーグローバル$_files の中の一つの項目です: php manual:post method uploads 。関数を作成してそれをフィルタに追加するだけです。あなたのフックの中で、filesizeをチェックし、$file['error']をあなたのエラーメッセージに設定してください。add_filter('wp_handle_upload_prefilter', function($file) { $size = $file['size']; if ($size > 500 * 1024) { $file['error'] = '"files larger than x bytes are prevented from uploads.'; } return $file; }); この方法では技術的にアップロードが許可されません。つまり、サーバーはまだユーザーのブラウザからファイルのアップロードデータを受信しています。それは後で捨てられるだけです。サーバーレベルで特定のサイズのアップロードが行われないようにするには、使用する内容に応じてサーバーを適切に設定する必要があります。