将现有图像与帖子关联

时间:2013-09-09 作者:Lee

如果我使用wp_insert_attachment 我在媒体库中得到了一个副本,所以我得到了图像id 并以此作为attach_id.

$attach_id = intval( $file[\'id\'] );
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
$result = wp_update_attachment_metadata( $attach_id,  $attach_data );
这行不通$result 为false。

我肯定我错过了一些简单的事情。有谁能启发我吗?

3 个回复
最合适的回答,由SO网友:Ben Miller - Remember Monica 整理而成

您可以使用修改现有媒体库映像wp_insert_attachment 通过设置ID 输入参数数组。

$attachment = array(
    \'ID\' => $existing_library_attachment_id,
    \'post_parent\' => $custom_post_id
);
wp_insert_attachment( $attachment );
这将用ID更新附件帖子$existing_library_attachment_id 有一个post_parent 的值$custom_post_id. 然而,这只会影响附件帖子的永久链接。除非您执行其他操作来编辑自定义帖子本身,否则您不会看到该帖子上的任何更改。

以下是可以将图像附加到帖子的一些操作:

要使图像成为帖子的“特色图像”,请使用set_post_thumbnail 功能:

set_post_thumbnail( $custom_post_id, $existing_library_attachment_id );
要在帖子的内容区域显示图片,您需要编辑帖子的post\\u内容(使用wp_update_post, 例如)。要将单个图像添加到帖子中,可以添加<img> 标记(可能使用get_image_tag 函数)。如果要添加库,请使用[gallery] shortcode.

SO网友:Svetoslav Marinov

我决定把它作为一个单独的帖子发布,而不是评论,因为它会丢失。我尝试了Ben的解决方案,但它修改了附件的其他数据字段。最后我用了这个。

            $attachment = array(
                \'ID\' => $att_id,
                \'post_parent\' => $custom_post_id,
            );

            $res = wp_update_post($attachment);

SO网友:Brian Fegter

这可能是您希望通过GUI而不是通过编程实现的。下面的插件将按照Ben Miller在设置post_parent 到自定义帖子ID。

插件Unattach and Reattach Media Attachments 工作非常好,内置了批量操作。

结束

相关推荐

Resize uploaded images

Possible Duplicate:Resizing all images 我有一个我建立的新闻门户,客户想要不同大小的特色图片。我已经准备好了我想要的第一个尺寸,他们已经发布了大约200多篇帖子,都准备好了这个尺寸。现在,如果我改变大小,它只会在新帖子上改变/或重新上传当前的特色图片(手工操作太多了)。我的问题是,有没有办法调整上传图像的大小?