Отображение внешних миниатюр для виртуальных публикаций без загрузки в медиатеку WordPressPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Отображение внешних миниатюр для виртуальных публикаций без загрузки в медиатеку WordPress

Сообщение Anonymous »

Я разрабатываю плагин для WordPress, который динамически добавляет виртуальные сообщения, вызванные из внешнего API, в обзор сообщений на главной странице. На главной странице обычно отображаются post_title, post_excerpt, post_date, автор и миниатюра каждого сообщения в обзоре.
Моя проблема: Хотя я могу отображать post_title, post_excerpt и post_date для виртуальных сообщений, я не могу внедрить внешний эскиз для виртуальных сообщений. Кажется, WordPress требует, чтобы у публикации был действительный идентификатор, а изображения загружались в медиатеку WordPress, чтобы миниатюра работала правильно (очевидно, он берет основные данные публикации, а затем ищет данные изображения в собственных базу данных вместо использования внешней ссылки). Однако мне нужно отображать внешние изображения в виде миниатюр, не загружая их в медиатеку, поскольку динамическая загрузка замедлит загрузку страницы и могут возникнуть проблемы с авторскими правами.
Что я пробовал :
Использование add_filter('post_thumbnail_html'...) для переопределения HTML миниатюры:

Код: Выделить всё

add_filter('post_thumbnail_html', function ($html, $post_id, $post_thumbnail_id, $size, $attr) {
global $post;

if (isset($post->is_virtual) && $post->is_virtual) {
$html = '';
}

return $html;
}, 10, 5);
Обновление метаданных виртуальных сообщений:

Код: Выделить всё

add_filter('get_post_metadata', function ($meta_value, $object_id, $meta_key, $single) {
global $post;

if (isset($post->ID) && $post->is_virtual && $meta_key === '_thumbnail_id') {
return $post->primaryImage;
}

return $meta_value;
}, 99, 4);

update_post_meta($post->ID, 'featured_image', $article['primaryImage']);
update_post_meta($post->ID, '_thumbnail_id', $article['primaryImage']);
update_post_meta($post->ID, 'custom_image_url', $article['primaryImage']);
Ни одна из этих попыток не сработала для отображения внешних изображений в виде миниатюр в обзоре публикации.
Есть ли способ добавить миниатюру в виртуальный публиковать сообщения с использованием внешних изображений без создания идентификатора сообщения и загрузки этих изображений в медиатеку WordPress? Как я могу заставить WordPress отображать внешнее изображение в качестве миниатюры для этих виртуальных сообщений?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -wordpress
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»