我有一个函数可以保存为url存储图像,唯一的问题是除了图像“无法找到”之外它似乎都工作正常
图像和名称位于媒体库中,但图像被破坏,因为当您通过URL打开图像时,它显示“未找到”
如果我错过了什么,你可以告诉我。
function set_image_from_url($url) {
$tmp = download_url( $url );
$file_array = array(
'name' => basename( $url ),
'tmp_name' => $tmp
);
/**
* Check for download errors
* if there are error unlink the temp file name
*/
if ( is_wp_error( $tmp ) ) {
@unlink( $file_array[ 'tmp_name' ] );
return $tmp;
}
/**
* now we can actually use media_handle_sideload
* we pass it the file array of the file to handle
* and the post id of the post to attach it to
* $post_id can be set to '0' to not attach it to any particular post
*/
$post_id = '0';
$id = media_handle_sideload( $file_array, $post_id );
/**
* We don't want to pass something to $id
* if there were upload errors.
* So this checks for errors
*/
if ( is_wp_error( $id ) ) {
@unlink( $file_array['tmp_name'] );
return $id;
}
/**
* No we can get the url of the sideloaded file
* $value now contains the file url in WordPress
* $id is the attachment id
*/
$value = wp_get_attachment_url( $id );
// Now you can do something with $value (or $id)
return $id;
}
答案 0 :(得分:0)
所以这是一个非常愚蠢的答案,但......
我更改了本地的默认网址,因为我想让它显示来自实际网站的图片。将其设置回本地上传文件夹位置开始正确显示图像。
发布答案,以便其他人提出同样的问题。检查您的设置>媒体>文件的完整URL路径。
全部谢谢!
答案 1 :(得分:-1)
从谷歌搜索和下载插件..
此插件取代了内置的“从URL导入”媒体 上传选项卡,允许您从远程下载图像 进入WordPress媒体库的URL。缩略图 远程图像是在本地创建的,上传后就是 能够添加自定义媒体属性(如标题,标题)和 将图像插入您的博客文章。 如何找到插件: 编辑帖子时,单击“添加媒体” 然后选择“保存并从URL导入”:如果您的窗口是 大,这是在左边的边栏。如果你的窗口是 小,你需要选择下拉菜单“插入 媒体“是预先选定的。 功能列表: 直接将远程图像包含在博客文章中 必须在本地将其保存到您的计算机 成为更好的互联网公民:避免使用热链接图像 缓解! 下载后重命名图像 与媒体库完全集成 - 包括创建 缩略图.. ..
喜欢&份额