Intereting Posts
Найти сообщения с точно 3/4 категориями Установка переменной PHP из плагина как og: image для WordPress Как я могу выделить отдельные фрагменты текста в блоге? Заполнение главного меню внешним API JSON Изменение нижнего колонтитула в зависимости от URL (сайт с языком поли) Удалить пункты меню страницы плагинов, но поддерживать плагин активным Получить объявленную переменную в single.php для работы в comments.php без повторного объявления WordPress Rewrites – Как передать переменную в Custom Post Type? Различные URL-адреса в канонических ссылках с YOAST Seo для сообщений и страниц Как работать над новой темой для сайта, сохраняя при этом старую тему в реальном времени Ошибки XML-RPC, они знают мое имя пользователя? Запрошенные вары не заданы в основном запросе Получить автора, если в записи есть несколько авторов Установка других приложений вместе с многопользовательским WordPress и настройка маршрутизации dns Сообщение неправильно отображаемое как страница

Ограничить загрузчик WP для определенных типов файлов только на страницах

У меня есть страница, где я использую редактор WP и позволяю пользователям вставлять изображения в сообщения. Я пытаюсь ограничить их способность добавлять только изображения, и я делаю это со следующим фильтром:

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."; } return $file; } 

Этот код запускается, когда я пытаюсь добавить zip-файл для плагина в панели управления администратора, например, и он не позволит мне сделать это, потому что этот код запускается. Я попытался добавить строку, чтобы проверить, является ли она is_admin() и возвращает и не выполняет этот код. Затем код выглядел так:

 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( is_admin() ) return; //<--- Added this line 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."; } return $file; } 

Когда я обновляю это, я получаю следующий код ошибки при попытке загрузить изображение:

 `File is empty. Please upload something more substantial.` 

Как я могу ограничить редактор WP только изображениями на лицевой части и в разделе администратора, а не выполнять этот код? Есть ли другой фильтр?

благодаря