Установить эскиз из URL, захватив изображение в functions.php

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

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

На странице Vine, в <head> , у них есть фрагмент кода, который указывает изображение .jpg видео. Я смог успешно захватить это и загрузить его на сервер в каталоге uploads.

Однако проблема заключается в том, что я не могу показать, что изображение, которое было захвачено + загружено в качестве миниатюры сообщений. Либо одна и та же привязка передается каждому сообщению (изображение, которое я вручную загрузил некоторое время назад), или оно не устанавливается вообще.

Вот мой код:

 function vineThumb($id) { $vine = file_get_contents("http://vine.co/v/{$id}"); preg_match('~<\s*meta\s+property="(twitter:image)"\s+content="([^"]*)~i', $vine, $matches); // Add Featured Image to Post $image_url = $matches[2]; // Define the image URL here $upload_dir = wp_upload_dir(); // Set upload folder $image_data = file_get_contents($image_url); // Get image data $filename = basename($image_url); // Create image file name // Check folder permission and define file location if( wp_mkdir_p( $upload_dir['path'] ) ) { $file = $upload_dir['path'] . '/' . $filename; } else { $file = $upload_dir['basedir'] . '/' . $filename; } // Create the image file on the server file_put_contents( $file, $image_data ); /* code works up to here. Image of the just-published Vine appears in the uploads directory. I now need this image to be set as the post-thumbnail. */ $attachments = get_posts(array( 'numberposts' => '1', 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC' )); $attachment = $attachments[0]->ID; set_post_thumbnail($post->ID, $attachment); /* here the same attachment ID is given - if I return $attachment; it will give the same ID, so when the code runs it just uploads the same attachment to each post. */ } 

Надеюсь, я был достаточно ясен – это довольно сложно объяснить 🙂

спасибо за любую помощь 🙂