Intereting Posts
Двунаправленная синхронизация типа сообщения среди многосайтовых блогов Как переключить тему, если текущий пользователь является администратором? Хотите восстановить пароль, сбросьте ссылку на ссылку электронной почты зарегистрированного пользователя Удалите дополнительный скрипт Google Maps «Страница виртуальной категории» на основе настраиваемого поля фильтра Область администрирования WordPress, используемая для администрирования другого сайта Вставить носитель – Приложение – Ссылка на: удалить страницу «страница вложения» Как включить иерархические постоянные ссылки для иерархических таксономий Создание нескольких URL-адресов страниц без создания страниц в WordPress Возможно ли дублировать группу полей, если нажата кнопка или флажок? На главной странице ссылки изображения на страницу, на странице страницы ссылку на свой собственный образ? Как я получаю плагин одной функции на моей теме ajax fucntion? get_current_screen и класс WP_Screen Как сделать гиперссылку условной в зависимости от того, вошли ли вы в систему или нет Изображения, не отображаемые после изменения имени папки wp-содержимого

Загрузка изображения по URL-адресу

Мне очень нравится, как SE загружает изображение из URL-адреса (я уверен, что многие это делают!). Я искал, но не могу найти, есть ли плагин или метод, подобный этому, доступный для WordPress?

Я знаю, что изображение можно загружать и хрустевать прямо из URL-адреса , введя URL-адрес изображения в поле «Имя файла» после нажатия «Загрузить / вставить медиа» >> «С компьютера» >> «Выбрать файл»

введите описание изображения здесь

Это отличная функция, но не очень широко известная (я ее только что обнаружил). Я хотел бы кое-что немного больше похоже на SE, где есть опция, позволяющая пользователю добавить URL-адрес изображения.

Как я могу просто добавить поле загружаемого файла на новую вкладку в медиа-загрузчике?

Ниже приведен учебник по добавлению новой вкладки на странице «Загрузка мультимедиа» в WordPress , но я хочу добавить только текст и поле для загрузки файлов на эту вкладку. Есть идеи? Я не мог найти ничего в коде WordPress, который напрямую связан с этой функцией или файлом.

Благодарю.

вы можете написать php-скрипт или создать свой собственный плагин этого кода здесь, я использовал его в одном из моих проектов, где мне пришлось импортировать большое количество изображений.

сначала получите изображение и сохраните его в каталоге загрузки:

$uploaddir = wp_upload_dir(); $uploadfile = $uploaddir['path'] . '/' . $filename; $contents= file_get_contents('http://img.wordpressask.com/uploads/image.jpg'); $savefile = fopen($uploadfile, 'w'); fwrite($savefile, $contents); fclose($savefile); 

после этого мы можем вставить изображение в медиа-библиотеку:

 $wp_filetype = wp_check_filetype(basename($filename), null ); $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => $filename, 'post_content' => '', 'post_status' => 'inherit' ); $attach_id = wp_insert_attachment( $attachment, $uploadfile ); $imagenew = get_post( $attach_id ); $fullsizepath = get_attached_file( $imagenew->ID ); $attach_data = wp_generate_attachment_metadata( $attach_id, $fullsizepath ); wp_update_attachment_metadata( $attach_id, $attach_data ); 

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

Вы можете использовать функции download_url() и wp_handle_sideload() .

download_url()

Загружает URL-адрес локальному временному файлу с использованием класса HTTP WordPress. Обратите внимание, что вызывающая функция должна отменить () файл.

wp_handle_sideload()

Обрабатывать боковые нагрузки, которые являются процессом извлечения медиа-объекта с другого сервера вместо традиционной загрузки мультимедиа. Этот процесс включает дезинфекцию имени файла, проверку расширений для типа mime и перемещение файла в соответствующий каталог в каталоге uploads.

Пример:

 // Gives us access to the download_url() and wp_handle_sideload() functions require_once( ABSPATH . 'wp-admin/includes/file.php' ); // URL to the WordPress logo $url = 'http://img.wordpressask.com/uploads/wp-header-logo.png'; $timeout_seconds = 5; // Download file to temp dir $temp_file = download_url( $url, $timeout_seconds ); if ( !is_wp_error( $temp_file ) ) { // Array based on $_FILE as seen in PHP file uploads $file = array( 'name' => basename($url), // ex: wp-header-logo.png 'type' => 'image/png', 'tmp_name' => $temp_file, 'error' => 0, 'size' => filesize($temp_file), ); $overrides = array( // Tells WordPress to not look for the POST form // fields that would normally be present as // we downloaded the file from a remote server, so there // will be no form fields // Default is true 'test_form' => false, // Setting this to false lets WordPress allow empty files, not recommended // Default is true 'test_size' => true, ); // Move the temporary file into the uploads directory $results = wp_handle_sideload( $file, $overrides ); if ( !empty( $results['error'] ) ) { // Insert any error handling here } else { $filename = $results['file']; // Full path to the file $local_url = $results['url']; // URL to the file in the uploads dir $type = $results['type']; // MIME type of the file // Perform any actions here based in the above results } } 

Каталог плагинов WordPress – Grab & Save

Этот плагин позволяет вам захватывать изображение с удаленного URL и сохранять в вашей собственной медиатеке WordPress. Таким образом, вы никогда не беспокоились, если удаленный образ был удален его владельцем. Это также поможет вам загрузить изображение на локальный компьютер и снова загрузить его в собственный WordPress.

После захвата изображения WordPress предложит вам либо «вставить в сообщение», либо «изменить атрибуты», как после загрузки изображения.

Существует как минимум три способа импорта удаленных изображений в WordPress:

  1. Grab and Save Plugin , о котором говорится в другом ответе. Этот плагин немного старше, и он сохраняет файл напрямую, поэтому миниатюры разных размеров не создаются. Последнее обновление более 2 лет назад на момент написания.

  2. Импорт внешнего плагина изображений имеет массовый импорт для удаленных связанных изображений. Возможно, вам придется увеличить свой предел памяти PHP, чтобы это работало. Последнее обновление более 2 лет назад на момент написания.

  3. Сохранить и импортировать изображение из плагина URL-адреса импортирует изображение с помощью собственных функций, поэтому оно правильно создано в галерее мультимедиа, и все миниатюры и т. Д. Сделаны. Этот плагин обновляется в последний раз в 2016 году и работает с WordPress 4.7

Раскрытие информации: я создал « Сохранить и импортировать изображение из плагина URL»