使用更新附件标题和说明元数据wp_ajax
中断以前的所有数据和附件结构,我的php代码:
add_action( \'wp_ajax_update_attachment\', \'update_attachment_callback\' );
function update_attachment_callback() {
$id = isset($_POST[\'id\']) ? $_POST[\'id\'] : FALSE;
$title = isset($_POST[\'title\']) ? $_POST[\'title\'] : \'TITLE\';
$description = isset($_POST[\'description\']) ? $_POST[\'description\'] : \'Description\';
if($id){
wp_update_attachment_metadata($id, array(
\'title\' => $title,
\'description\' => $description
));
}
echo \'ok\';
wp_die();
}
和有效载荷:使用JS
data = {
\'action\': \'update_attachment\',
\'title\' : title,
\'id\': id,
\'description\': description
};
一切都很好,但一旦它更新了附件数据,我就会丢失很多附件数据,例如
width
,
height
,
sizes.thumbnail
等
我不知道为什么这些数据会丢失,因为我没有更改任何这些数据,我只是更新title
和description
属于附件。
这是在更新附件之前(从js控制台)。
更新后的附件相同。
最合适的回答,由SO网友:Kamaal ABOOTHALIB 整理而成
如果要更新title
和description
您不应该使用wp_update_attachment_metadata
附件标题和描述不是元,它是一个主要的帖子详细信息(附件是自定义帖子),您可以使用以下代码来实现这一点。
$attachment = array(
\'ID\' => $id,
\'post_title\' => $title,
\'post_content\' => $description
);
// now update main post body
wp_update_post( $attachment );