wp_update_attachment_metadata()函数中的$ data参数应该包含哪些数据?

时间:2017-04-26 16:53:19

标签: wordpress function

我需要在复制和粘贴到新本地化的图像的wppostmeta tabele中更新“_wp_attachment_metadata”。

由于WP文档对我来说不明确,我想问一下我应该输入$ data参数?

wp_update_attachment_metadata( $post_id, $data );

$ post_id非常清楚,我可以从数据库中获取它。那么$ data?

https://codex.wordpress.org/Function_Reference/wp_update_attachment_metadata

修改

我试过这个(98是post_id / attachment-page id)

$data = wp_get_attachment_metadata( 98 ); 
wp_update_attachment_metadata( $post_id, $data );

但它不起作用我也尝试了类似的东西:

`while ($row = $post_id->fetch_assoc() and $media = $meta_value->fetch_assoc() ) { 
$row_id = $row['post_id']; 
$media_name = $media['meta_value']; 

update_post_meta( $row_id , '_wp_attachment_metadata' , $media_name );  
}`

它的工作原理我可以看到图像/缩略图,但是当我尝试编辑图像时,它会显示“文件中没有图像数据。请将图像再次发送到服务器”。

1 个答案:

答案 0 :(得分:1)

从文档中,它是该图像的(序列化)元数据。基本上它是描述图像的一个较大的关联数组。当您使用该方法时,您必须提供所有数据值(而不仅仅是您想要更改的数据值)。

更改它可能看起来像这样:

$data = wp_get_attachment_metadata( $attachment_id); // get the data structured
$data['width'] = 680;  // change the values you need to change
wp_update_attachment_metadata( $post_id, $data );  // save it back to the db

您可以看到关联数组的外观in the documentation for wp_update_attachment_metadata