Get uploaded image url

时间:2012-02-21 作者:thedev

我正在开发一个插件,它使用一个模板和一些图像来构建一个新闻稿。

已使用媒体库上载图像(uploads/current_year/current_month/) 我想通过使用图像名称获取图像URL。

有没有办法在不迭代所有图像的情况下实现这一点?

我曾尝试将图像存储在插件文件夹中,但该网站使用https,如果没有身份验证,则无法访问该位置。

有没有关于存储图像的不同位置的建议?

2 个回复
SO网友:fuxia

wp_upload_dir() 是完美的。这是您唯一可以期望获得写入权限的地方。

存储附件ID,而不是路径。那你呢get the image 使用:

wp_get_attachment_url( $attach_id )
有时,用户可能已删除每个媒体库的图像。要避免丢失文件的问题,请检查wp_get_attachment_url() 第一摘自我的一个插件:

/**
 * Returns image markup.
 * Empty string if there is no image.
 *
 * @param  int    $attach_id
 * @return string
 */
protected function get_image_tag( $attach_id )
{

    $img_url = (string) wp_get_attachment_url( $attach_id );

    if ( \'\' == $img_url )
    {
        return \'\';
    }

    $img = "<img src=\'$img_url\' alt=\'\' width=\'$this->width\' height=\'$this->height\'>";

    return $img;
}

SO网友:Maor Barazany

我认为应该对wp\\u posts表运行自定义mySQL查询,类似于-

SELECT ID FROM `wp_posts` where guid like \'%filename.jpg\';
(当然,可以使用$wpdb对象来查询数据库)。然后,您将拥有该附件文件的postid,您可以使用wp_get_attachment_url() 来自WP API。

结束

相关推荐

Images not showing on blog

今天早上我wordpress博客上的大部分图片(http://records.photodharma.net)已停止加载。这甚至发生在嵌入式系统上。此处嵌入的所有图像:http://records.photodharma.net/photos/chiang-mai-photo-albums-of-modern-structures 当我在Firebug中查看它们时,它们会出现,但不会出现在页面上。有几次我看到图像加载后不久就消失了,所以它们似乎试图加载,但被阻止了。我做了一些搜索,并尝试了各种方法,如更新