Intereting Posts
Как временно скрывать доступ к моему веб-сайту? Пользовательская таксономия сортирует по метке в столбцах администратора Включить профиль автора в результаты поиска Созданы пользовательские типы сообщений, но single.php не работает Сайт нуждается в массовом обновлении – как действовать? как добавить данные в таксономии для публикации с помощью wp_insert_post Плагин фрейма на панели администратора WordPress на стороне сервера Как разместить контент на страницах архива, но не на главной странице? Woocommerce как обновить переменную цену продукта программно? Бесконечная петля блога Отображение персонализированного типа сообщений на страницах категорий, но не в списках блога Есть ли способ сделать мои медиафайлы неисследованными? Как удалить предупреждения смешанного содержимого в WP Customizer HowTo: добавление класса в список виджетов боковой панели CMB2 Repeatable Group & JSON API

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

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

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

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

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

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

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

Если вы хотите использовать образ, основанный на 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}'>"