Intereting Posts
Конфликт JQuery Список сообщений И тип пользовательских сообщений по категориям Удалить страницу магазина Woocomerce Как я могу получить изображение или первое изображение для публикации / страницы и отобразить его как баннер? BuddyPress: условно фильтровать каталог на основе поля Xprofile Интеграция формы Paypal с формой регистрации wordpress без плагина Как запретить настраиваемые роли для редактирования опубликованных пользовательских типов сообщений? Использование previous_post_link и next_post_link для округления последовательности сообщений Конкатенация пользовательского значения поля и значения HTML (Xdebug Profiler) Почему существуют два файла cachegrind для одной страницы? Как экспортировать продукты WooCommerce с брендами? Разрешить пользователям создавать сообщения без входа в систему? Первый элемент / селектор разбитых файлов CSS Проблема обновления SSH single.php с разным взглядом по категориям

Как регистрировать изображения, загружаемые через FTP в медиа-библиотеку?

Я использую свой собственный файл upload.php для загрузки изображений:

$upload_dir = wp_upload_dir(); $targetDir = $upload_dir['path'].'/'; 

Он работает так же, как и в этом исключении, что изображения, загруженные в uploads/2012/08/ , не отображаются в Media Library . Есть ли какая-либо функция «зарегистрировать» их там и в базе данных WP?

Solutions Collecting From Web of "Как регистрировать изображения, загружаемые через FTP в медиа-библиотеку?"

Это потому, что вы не регистрируете их как тип медиа. Каждая загрузка – это сообщение WordPress типа attachment .

Для начала это будет примерно так:

 $file_name = 'Some Name'; $file_path = '/path/to/uploads/2012/08/04/newfile.jpg'; $file_url = 'http://img.wordpressask.com/php/newfile.jpg'; $wp_filetype = wp_check_filetype($file, null); $attachment = array( 'guid' => $file_url, 'post_mime_type' => $wp_filetype['type'], 'post_title' => $file_name, 'post_status' => 'inherit', 'post_date' => date('Ymd H:i:s') ); $attachment_id = wp_insert_attachment($attachment, $file_path); $attachment_data = wp_generate_attachment_metadata($attachment_id, $file_path); wp_update_attachment_metadata($attachment_id, $attachment_data); 

Это должно создать запись на панели мультимедиа, а также преобразовать изображение во все размеры, которые вы используете в своей теме.

Хорошим вариантом для вас является вставка указанной выше процедуры в файл upload.php . Для этого вам также необходимо будет включить файлы WordPress. В противном случае вам придется сказать WordPress как-то запустить это, возможно, с помощью запроса $_REQUEST или задания cron.

Я думаю, вы должны начать копать в функции media_handle_upload . Это описание в кодексе нечеткое, поэтому постарайтесь понять его код .

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