导入WordPress将图像作为外部URL的特色图像发布

问题描述 投票:1回答:2

我目前有一个包含2列的CSV文件 - 一列用于Post ID,另一列用于图像URL。有10,000个帖子,因此有10,000个图像。

我需要将它们导入WordPress并将每个图像设置为精选图像。

怎么能实现这一目标?我知道有插件会显示来自外部URL的精选图像,但实际上我需要将图像导入到同一台服务器上(因为新网站是在不同的服务器上构建的,域DNS将更新为实时 - 渲染旧的完整路径URL无用)。

wordpress image import
2个回答
0
投票

Wordpress已经有一个名为media_sideload_image的内置函数,可以实现这种功能。此功能将下载图像并将其附加到您的帖子。

因此,假设您将所有记录从csv转储到数组,并且它有1000个索引,每个索引包含2个项目“post_id”和“image_url”。现在第一项的image_url将是$ csv_items [0] ['image_url']。一旦你有了这个,你可以简单地foreach数组并将它们附加到相关的post id。

<?php 
foreach($csv_items as $csv_item){
    $image = media_sideload_image($csv_item['image_url'], $csv_item['post_id']);
}?>

0
投票

@omer Farooq的回答很有帮助,但为了扩展并将图像设置为帖子的特色图像(如OP所要求的),您可以执行以下操作:

// will return the attachment id of the sideloaded img
$image = media_sideload_image( $image_url, $post_id, $filename, 'id' );
    
// set as featured image
set_post_thumbnail( $post_id, $result );
© www.soinside.com 2019 - 2024. All rights reserved.