Get Attachment ID from URL

时间:2015-04-13 作者:websupporter

我有一个图像的URL,我知道它是一个附件。现在,我需要找出附件ID。

这是我得到的(感谢PippinsPlugins):

// retrieves the attachment ID from the file URL
function pippin_get_image_id($image_url) {
    global $wpdb;
    $attachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid=\'%s\';", $image_url )); 
        return $attachment[0]; 
}
对于这样的URL,这很好:http://example.com/wp-content/uploads/2015/03/picture.png

我的问题是,URL是裁剪图片的URL,所以http://example.com/wp-content/uploads/2015/03/picture-300x297.png

我的下一个问题是现在,我不能简单地分解URL以删除300x297,因为我可能有图片,这些图片没有被裁剪,但可能有如下文件名\'picture2-dontexplodeme.png\'

基本上,我需要一个万无一失的解决方案哈哈。如果有人有一个简单的解决方案,我会非常高兴:)

1 个回复
SO网友:a4jp.com
function get_attachment_id_from_src ($image_src) {

    global $wpdb;
    $query = "SELECT ID FROM {$wpdb->posts} WHERE guid=\'$image_src\'";
    $id = $wpdb->get_var($query);
    return $id;

}
结束

相关推荐

Resize images in batch

我想调整服务器上的图像大小,我的WordPress站点库中有7000多个图像。我想调整服务器本身上所有图像的大小。我知道可以使用“重新生成缩略图”插件,但为此,我将不得不整天打开浏览器窗口,甚至可能在中间某个地方崩溃,这将导致我再次调整所有图像的大小。有谁有更好的主意来做这件事吗?请简要解释答案。