正在扩展“添加媒体”-对话框...我如何最终在《华盛顿邮报》上插入一些东西?

时间:2015-06-17 作者:Paflow

我正在开发一个插件,它扩展了Post Editor中的“添加媒体”按钮。

我找到了一个例子(我想可能是nextGen Galley),在添加媒体对话框中使用了wp\\u iframe。出于某些原因,以同样的方式构建我的东西是很舒服的。

我就是这样做的:

// add entry to "add media" menu
add_filter(\'media_upload_tabs\', function($tabs) {
    return array_merge($tabs, array(\'jt\' => "jt\'s plugin"));
});

// my own "add media" page
add_action(\'media_upload_jt\', function() {

    // use plugin stylesheet
    add_action(\'admin_print_styles-media-upload-popup\', function() {
        $cssUrl = plugins_url() .\'/jt.css\';
        wp_enqueue_style(\'jt_mediamenu\', $cssUrl);
    });
    return wp_iframe(\'media_jt_dialogue\'); 
});


function media_jt_dialogue() {

        /* do some interactive stuff using the iframe 
         * and forms like a boss (not using ajax and pretending it\'s still 2005)
         */

        /* yeah... and now? */
}
但我不知道下一步该怎么办,也不知道该怎么办。现在,我想将iframe中与用户的对话结果返回给tinyMCE编辑器(可能以快捷码的形式)。但是怎么做呢?我想我必须触发一些Javascript,但我相信Wordpress拥有一个干净的默认解决方案。有什么建议吗?提前感谢您!

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

我发现了自己。我不得不打电话

media_upload_header();
并触发以下javascript:

var html = \'stuff I want to return to editor\';
var win = window.dialogArguments || opener || parent || top;
win.send_to_editor(html);
我不知道怎么做,但这是可行的。

结束

相关推荐

对主题目录中的文件使用media_sideload_Image

我正在建立一个Wordpress网站,管理员可以从post metabox上传视频文件。在那篇帖子被保存并且视频文件被附加到帖子之后,我使用ffmpeg在视频的第一秒获取屏幕截图,然后将这个屏幕截图作为JPG文件保存在主题目录的“tmp”目录中。最后,我想以编程方式将此屏幕截图制作为后期特色图像。我使用media\\u sideload\\u image函数,它通常用于从另一台服务器获取图像,并将该图像设置为后期特色图像,我认为此函数也可以在这种情况下使用。在我的例子中,视频截图已成功保存到我的主题目录中