如何制作能在核心变化中生存下来的Plupload区域?

时间:2014-04-11 作者:Rarst

我最近在一个插件中实现了自定义Plupload表单(位于管理区域并使用SVG文件)。

Plupload有半吨的设置,由WP自己的上传区提供wp_plupload_default_settings(), 我必须从中复制设置并进行自定义。

现在,在即将发布的3.9核心版本中,这些设置正在更改(请参见Plupload 2.x in WordPress 3.9), 这可能会破坏我的自定义上载,至少是部分破坏。

我如何实现Plupoad,使其不会在每次core更改相关位时崩溃,也不会干扰core或其他插件/主题中的任意上传区域?

这是我到目前为止完成的设置(它们可能并不完美,但它们完成了):

public function get_uploader_settings() {

    return array(
        \'runtimes\'            => \'html5,silverlight,flash,html4\',
        \'browse_button\'       => \'cdd-plupload-browse-button\',
        \'container\'           => \'cdd-plupload-upload-ui\',
        \'drop_element\'        => \'cdd-drag-drop-area\',
        \'file_data_name\'      => \'async-upload\',
        \'multiple_queues\'     => true,
        \'max_file_size\'       => wp_max_upload_size() . \'b\',
        \'url\'                 => admin_url( \'admin-ajax.php\' ),
        \'flash_swf_url\'       => includes_url( \'js/plupload/plupload.flash.swf\' ),
        \'silverlight_xap_url\' => includes_url( \'js/plupload/plupload.silverlight.xap\' ),
        \'filters\'             => array( array( \'title\' => __( \'Allowed Files\' ), \'extensions\' => \'svg\' ) ),
        \'multipart\'           => true,
        \'urlstream_upload\'    => true,
        \'multi_selection\'     => false,
        \'multipart_params\'    => array(
            \'_ajax_nonce\' => wp_create_nonce( \'media-form\' ),
            \'action\'      => \'upload-attachment\',
            \'post_id\'     => get_the_ID(),
            \'cdd-upload\'  => true,
        ),
    );
}

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

似乎core只是需要一种更好的方法来处理与Plupload在WordPress级别的向后兼容性:)作为插件开发人员,您不必担心这一点,您的使用看起来很公平,因为目前没有其他方法可以获得默认设置数组。

我已经打开了#27763 使用Plupload更新解决此问题和其他一些兼容性问题。如果还出现其他问题,请随时添加到列表中。

结束

相关推荐

当打开媒体弹出窗口时,是否可以触发一些JavaScript?

在我的一个自定义贴子编辑页面上,我有一个按钮,点击后会触发媒体弹出窗口,带有:wp.media.editor.open(); 虽然它会提到媒体经理,但我不确定这样做是否正确。是吗?但真正的问题是关于其他事情。如何将事件侦听器连接到媒体弹出窗口应触发的各种事件?喜欢open 或close 或者切换视图是否有任何事件?