远程从外部REST API获取特色图像并通过.php文件添加

qgelzfjb  于 2023-01-08  发布在  PHP
关注(0)|答案(1)|浏览(126)

好吧,也许这个问题听起来有点复杂,但我们开始吧:
我有一个single.php文件,我从external API文件中获取了很多数据,这非常好用,我甚至可以得到我想为我的自定义类型帖子设置为featured image的图像的路径,但是:我不知道是否以及如何在single.php中使用此URL设置此特色图像。
比如,做:

$response = wp_remote_get( "[path][to][featuredimg]"

我知道有插件在那里,但有没有办法在我的single.php中自动化这个过程,在那个文件中自动创建特色图像?
有什么帮助/建议吗?
尝试以下解决方案后编辑:

<?php 

// Set the post ID
$post_id = 1241;

// Set the image URL
$image_url = "$result['data']['image']";

// Download the image
$image_id = media_sideload_image($image_url, $post_id, '', 'id');

// Check for errors
if (is_wp_error($image_id)) {
    // An error occurred. Print the error message
    print_r($image_id);
} else {
    // The image was downloaded successfully. Now set it as the featured image for the post
    set_post_thumbnail($post_id, $image_id);
}

?>

以上不起作用。当我在wp-admin中检查自定义帖子类型时,它没有得到一个特色图片的更新。知道为什么吗?

bejyjqdl

bejyjqdl1#

是的,有可能。
您可以使用media_sideload_image函数从URL下载图像,并将其作为专题图像附加到帖子中。
让我给大家举个例子:

// Set the post ID
$post_id = 1;

// Set the image URL
$image_url = '[path][to][featuredimg]';

// Download the image
$image_id = media_sideload_image($image_url, $post_id, '', 'id');

// Check for errors
if (is_wp_error($image_id)) {
    // An error occurred. Print the error message
    print_r($image_id);
} else {
    // The image was downloaded successfully. Now set it as the featured image for the post
    set_post_thumbnail($post_id, $image_id);
}

相关问题