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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导入WordPress将图像作为外部URL的特色图像发布相关的知识,希望对你有一定的参考价值。

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

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

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

答案

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']);
}?>
另一答案

@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 );

以上是关于导入WordPress将图像作为外部URL的特色图像发布的主要内容,如果未能解决你的问题,请参考以下文章

如何将页面中的特色图像缩略图放在 wordpress 的主索引上

PHP 将特色图像缩略图添加到WordPress管理列

将特色图像缩略图添加到WordPress管理列

将特色图像缩略图添加到WordPress管理列

如何使用 $wpdb 类在 wordpress 中显示特色图像

如何将图像用于博客帖子缩略图,但不让它成为帖子顶部的特色图像?