質問: 画像のアップロードを1つに制限し、アップロードするオーディオ、ビデオ、その他のドキュメントファイルの種類を無効にする 誰かが新しい記事を追加にいくつかのトリックを知っている: オーディオ、ビデオ、その他のファイル形式のアップロードを無効にします。 画像(jpg、png、gif)のアップロードのみを受け入れます。 各投稿のアップロードを1つの画像のみに制限します(1つ以下)。 前もって感謝します。
回答: 私はそれが不可能であるか、少なくとも簡単ではないと考えて諦めようとしていました。それから私はwp_handle_upload_prefilterフィルターに目を向けました。これがコードです:add_filter('wp_handle_upload_prefilter', 'yoursite_wp_handle_upload_prefilter'); function yoursite_wp_handle_upload_prefilter($file) { // this bit is for the flash uploader if ($file['type']=='application/octet-stream' && isset($file['tmp_name'])) { $file_size = getimagesize($file['tmp_name']); if (isset($file_size['error']) && $file_size['error']!=0) { $file['error'] = "unexpected error: {$file_size['error']}"; return $file; } else { $file['type'] = $file_size['mime']; } } list($category,$type) = explode('/',$file['type']); if ('image'!=$category || !in_array($type,array('jpg','jpeg','gif','png'))) { $file['error'] = "sorry, you can only upload a .gif, a .jpg, or a .png image file."; } else if ($post_id = (isset($_request['post_id']) ? $_request['post_id'] : false)) { if (count(get_posts("post_type=attachment&post_parent={$post_id}"))>0) $file['error'] = "sorry, you cannot upload more than one (1) image."; } return $file; } そして、これが実際にどのように見えるかを示すスクリーンショットです。