Захват WordPress, который получает изображение с прямого URL-адреса?

Я использую много плагинов на своем сайте, поэтому я стараюсь свести к минимуму количество плагинов.

Мне было интересно, есть ли какой-либо механизм сжатия WordPress, который я могу использовать, чтобы использовать изображение, размещенное на imagehack, и использовать его как изображение с изображением без сохранения изображения на моем сайте WordPress?

Возможно ли это? Это звучит как действительно сложный запрос. лол

Solutions Collecting From Web of "Захват WordPress, который получает изображение с прямого URL-адреса?"

Первая попытка: плохой

Вы пробовали это решение ? С помощью нескольких адаптаций он тоже должен работать на ваш вопрос.

Вторая попытка: реальный подход с решением!

Если вы хотите использовать образ, основанный на URL-адресах, не сохраняя файл изображения в вашей установке WordPress, но все же используете реализованные функции WordPress в своей теме / плагине, вам нужно знать, как представлен носитель в WP:

Когда вы загружаете файл, WordPress не ссылается на изображение или файл, используя его URL-адрес, он использует вложение. Вложения – это сообщения типа вложения, на которые ссылается их идентификатор сообщения. Например, когда вы устанавливаете изображение с изображением на столбе, он сохраняет идентификатор сообщения выбранного изображения в метатеге _thumbnail_id .

Источник: http://www.wptherightway.org/en/post_types/index.html (2016-03-14 01:23 UTC)

Вывод: ориентированные на URL изображения не предусмотрены в среде WP.

Если вы все еще хотите достичь этого, есть 3 простых шага:

  1. Отфильтруйте результат wp_get_attachment_image_src() , чтобы строки url были как _thumbnail_id а не post_id .

     function my_get_attachment_image_src($image, $attachment_id, $size, $icon){ if (empty($attachment_id)) return $image; if ( (string) intval($attachment_id) != (string) $attachment_id && $attachment_id != '' ) { $image[0]= $attachment_id; } return $image; } add_filter( 'wp_get_attachment_image_src', 'my_get_attachment_image_src', 10, 4); 
  2. Создайте дополнительный мета-столбец для сообщений и страниц, чтобы показывать и устанавливать изображения, основанные на URL.

     function add_my_meta_box() { add_meta_box( 'post_thumbnail_url', __('External URL as featured Image'), 'my_meta_box', 'post', 'side', 'low' ); add_meta_box( 'page_thumbnail_url', __('External URL as featured Image'), 'my_meta_box', 'page', 'side', 'low' ); } function my_meta_box($post) { $attachment_url = get_the_post_thumbnail_url($post->ID); if ( (string) intval($attachment_url) != (string) $attachment_url && $attachment_url != '' ) { echo "<img width='100%' id='my_thumbnail_preview' src='{$attachment_url}'>"; } $placeholder = __('eg http://img.wordpressask.com/hooks/image.jpg'); echo "<input type='text' placeholder='{$placeholder}' name='my_thumbnail_url' id='my_thumbnail_url' value='{$attachment_url}'>"; } add_action( 'add_meta_boxes', 'add_my_meta_box'); 
  3. Добавьте фильтр save_post для обработки сообщения meta _thumbnail_id (= Идентификатор изображения / URL).

     function save_my_thumbnail_url($post_id) { if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; if ( !current_user_can( 'edit_post', $post_id ) ) return; if ($_POST['my_thumbnail_url'] && !empty($_POST['my_thumbnail_url'])) { update_post_meta($post_id, '_thumbnail_id', $_POST['my_thumbnail_url']); } //TODO: Handle empty featured image url. } add_action( 'save_post', 'save_my_thumbnail_url', 99); 

Теперь вы можете использовать отображаемое на основе URL изображение в своей теме.

 the_post_thumbnail(); // or… $image_url = get_the_post_thumbnail_url(get_the_ID()); echo "<img src='{$image_url}'>"