我正在为WordPress管理区域中的媒体上传做自定义界面。到目前为止,我使用wp.media打开上传模式窗口,并设法使用此代码上传和保存图像
var frame = new wp.media.view.MediaFrame.Select({
.....
....
});
现在我正在尝试编辑附件,在查看media-models.js(wordpress core)之后,我尝试使用MediaFrame.EditAttachments视图。
- 来自media-models.js的代码
if ( 'select' === attributes.frame && MediaFrame.Select ) {
frame = new MediaFrame.Select( attributes );
} else if ( 'post' === attributes.frame && MediaFrame.Post ) {
frame = new MediaFrame.Post( attributes );
} else if ( 'manage' === attributes.frame && MediaFrame.Manage ) {
frame = new MediaFrame.Manage( attributes );
} else if ( 'image' === attributes.frame && MediaFrame.ImageDetails ) {
frame = new MediaFrame.ImageDetails( attributes );
} else if ( 'audio' === attributes.frame && MediaFrame.AudioDetails ) {
frame = new MediaFrame.AudioDetails( attributes );
} else if ( 'video' === attributes.frame && MediaFrame.VideoDetails ) {
frame = new MediaFrame.VideoDetails( attributes );
} else if ( 'edit-attachments' === attributes.frame && MediaFrame.EditAttachments ) {
frame = new MediaFrame.EditAttachments( attributes );
}
但是我收到此错误
wp.media.view.MediaFrame.EditAttachments is not a constructor
你能帮我找一个使用wp.media(或者其他方式)在模态窗口中打开编辑附件的方法吗?
答案 0 :(得分:1)
您好像缺少要求电话(例如require("./views/frame/edit-attachments.js")
)。该构造函数在此处定义:
https://core.trac.wordpress.org/browser/tags/4.6.1/src/wp-includes/js/media/views/frame/edit-attachments.js
检查是否在代码中使用它并执行类似的操作。
答案 1 :(得分:0)
不幸的是,MediaFrame.EditAttachments的逻辑不能单独使用 - 它需要打开它的网格。但是,您可以使用get_media_item(attachment_id)方法接收用于修改图像的表单的HTML:https://developer.wordpress.org/reference/functions/get_media_item/
再看看我在这里的答案: https://wordpress.stackexchange.com/questions/270008/wp-media-edit-attachment-screen/