我需要在复制和粘贴到新本地化的图像的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 );
}`
它的工作原理我可以看到图像/缩略图,但是当我尝试编辑图像时,它会显示“文件中没有图像数据。请将图像再次发送到服务器”。
答案 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