自定义3.5版“添加媒体”弹出窗口(Backbone.js)

时间:2014-01-21 作者:Designer 17

这里还有一个关于新(ish)3.5“添加媒体”弹出窗口的问题,以及如何自定义它!

What I\'m trying to do

我正在尝试做四件主要的事情:1)创建一个名为“Flickr上传”的自定义选项卡;2) 自定义上载中显示的文本button; 3) 填充select 外部下拉菜单API 排序选项(换句话说unset 默认选项和set 我自己的。。。仅适用于自定义选项卡);4) 将显示的照片更改为外部API 还可以添加标签、描述等。。。在右侧栏中。

What I\'ve managed to do

使用gist 作者@Fabien Quatravaux我已完成步骤1) and 2) 在上面的列表中。。。但是,我搞不清楚这件事。显示的内容如下:

Good start but not done!

Where I need help to finish

正如您所看到的,我仍然需要找出如何自定义select 下拉选项,显示meta-data 在右侧栏中输入,以及使图像选择正确的方式,并获得与“插入媒体”选项卡上相同的按钮进行交互。

我几乎没有弄糟jQuery 更不用说Backbone ... 所以,不用说,我完全不知道该怎么办。我不知道从哪里开始。

谢谢你的帮助!

1 个回复
SO网友:iantsch

我已经为我的一个项目调整了主干,所以我可能会帮助你开始。

如果要调整主干模板的渲染,则需要重写它们,因为现有模板没有内置过滤器。

add_action(\'print_media_templates\', \'print_my_media_templates\');

function print_my_media_templates() {
    ?>
    <script type="text/html" id="my-custom-template">
        //TODO: Copy existing blade template and adapt to your needs
        //TODO: You can access all custom vars here and seed
    </script>
    <?php
}
接下来要做的事情是:准备您所请求的模板,并将其与您的数据一起播种。

add_action(\'media_view_strings\', \'prepare_data_for_js\');

function prepare_data_for_js( $response ) {
    //TODO: Conditional seeding of $response[\'some_var\']
}
调整您的custom_media_menu.js 要渲染新模板,请执行以下操作:

wp.media.view.Custom = wp.media.view.Custom.extend({
    template: function(view) {
        return wp.media.template(\'my-custom-template\')(view);
    }
});
那么你的API魔法很快就会开始发挥作用。

结束

相关推荐

Failed to import Media

当我用[工具>导出]生成XML文件并在另一个WordPress网站上使用[工具>导入]时,我会得到每种附件帖子类型的“无法导入媒体”。而无法加载的图像是从前一台服务器热链接的,该服务器使用前一台服务器的传输。。。但是当我从http://codex.wordpress.org/Theme_Unit_Test 那么这个问题就不存在了。有些图像仍然“无法导入媒体”,但这只是30张图像中的5张。他们在XML中有指向自己服务器的URL,但不知何故,[工具>导入]设法下载媒体并用新位置替换这些URL