在媒体模式下修改所选图像的阵列

时间:2014-04-07 作者:bcorkins

我正在创建一个插件,用于在上传时检查重复的媒体项目。如果上载了文件,并且该文件已经存在于媒体库中,我将向用户提供删除上载文件并插入现有文件的选项。

在modal media(模式媒体)窗口(单击post editor上方的“Add media”(添加媒体)时出现的窗口)中,我已经完成了检测重复文件的所有工作,并提供了一个复选框,用户可以单击该复选框删除重复文件(通过“wp\\u ajax\\u save-attachment-compat”)。用户删除新文件后,我需要找到一种方法来修改当前选定媒体项的JavaScript数组,用副本的帖子ID替换删除文件的帖子ID,这样当用户单击“插入帖子”时,就会插入正确的图像。

这是我目前使用的临时代码。每当在默认媒体模式下进行新选择时,就会触发此操作。

( function( $ ) {

    var _AttachmentDisplay = wp.media.view.Settings.AttachmentDisplay;
    wp.media.view.Settings.AttachmentDisplay = _AttachmentDisplay.extend({
        render: function() {
            _AttachmentDisplay.prototype.render.apply(this, arguments);
            selection = this.controller.state().get(\'selection\').first().toJSON();
            //selection = this.controller.state().get(\'selection\');

            filename = selection.filename;

            attachment = wp.media.attachment(id);  // get attachment with id

            console.dir(filename);
            console.dir(selection);
        }
    });

} )( jQuery );

1 个回复
最合适的回答,由SO网友:Dmitry Mukhin 整理而成

我可以在media modal中执行以下操作:

          var selection = wp.media.frame.state().get(\'selection\'); // get selected collection
          attachment = wp.media.attachment(id);  // get attachment with id
          attachment.fetch();
          selection.add(attachment);  // add attachment to selection collection
应该有.remove() 方法或类似的方法。

结束

相关推荐

撤消定义(‘UPLOADS’,‘’.‘FILES’);以重指向“wp-Content/Uploads”文件夹

是否可以通过使用将“wp content/uploads”设置为使用不同的文件夹define( \'UPLOADS\', \'\'.\'files\' ); 我已经永久有效地更改了所有路径,如果是这样的话,我如何撤消它,使其指向“wp内容/上传”?我认为只要把define( \'UPLOADS\', \'\'.\'files\' ); 我会解决一个问题,我上传到WP的文件不想下载,因为URL不是文件的正确路径。