如何从URL中检索图片并设置为特色图片/帖子缩略图

时间:2010-10-19 作者:David John Smith

给定一个Vimeo ID,我可以通过Vimeo Simple API从视频中检索缩略图。我希望使用save_post 挂钩(类似于this question).

我的问题是,我不熟悉php中的URL调用。我想知道:

使用像curl这样的方法与WP_Http. 一个比另一个好吗?

调用函数以成功设置帖子缩略图的顺序。

如果您有任何帮助,我们将不胜感激。

2 个回复
最合适的回答,由SO网友:sxalexander 整理而成

我最喜欢的处理此问题的方法是使用我在另一篇堆栈文章中发现的一个有文档记录的函数:media_sideload_image

它的工作原理是将图像url提取到WordPress上载目录,然后将图像与帖子的附件相关联。

您可以这样尝试:

// required libraries for media_sideload_image
require_once(ABSPATH . \'wp-admin/includes/file.php\');
require_once(ABSPATH . \'wp-admin/includes/media.php\');
require_once(ABSPATH . \'wp-admin/includes/image.php\');

// $post_id == the post you want the image to be attached to
// $video_thumb_url == the vimeo video\'s thumb url
// $description == optional description

// load the image
$result = media_sideload_image($video_thumb_url, $post_id, $description);

// then find the last image added to the post attachments
$attachments = get_posts(array(\'numberposts\' => \'1\', \'post_parent\' => $post_id, \'post_type\' => \'attachment\', \'post_mime_type\' => \'image\', \'order\' => \'ASC\'));


if(sizeof($attachments) > 0){
    // set image as the post thumbnail
    set_post_thumbnail($post_id, $attachments[0]->ID);
}  

SO网友:MikeSchinkel

你好@David John Smith:

1)如果你在WordPress中,(几乎)总是使用WP_Http; 这是我喜欢与WordPress合作的许多事情之一。为什么叫它而不是卷曲?因为它有更好的语法,如果CURL可用,它会调用CURL。如果没有,则从其他三个选项中选择一个。所以这真的是一件很棒的装备。

2)要回答第二个问题,我需要知道您要如何命名正在下载的文件?

结束

相关推荐