TinyMCE在媒体模式窗口中不能正常工作

时间:2011-11-11 作者:Alexander Shakhray

我需要在图像描述中添加TinyMCE。为此,我在函数中使用了这段代码。php:

function add_tiny_mce_hook() {      
if (function_exists(\'wp_tiny_mce\')){ 
    wp_tiny_mce(false, 
        array(
            \'remove_linebreaks\' => false, 
            \'mode\'              => \'textareas\', 
            \'editor_selector\'   => \'my-tinymce-class\')
        );
}}
function alternate_tiny_mce_method($fields, $post) {
if (isset($fields[\'post_content\'])) {
    $value = $fields[\'post_content\'][\'value\'];
    $label = $fields[\'post_content\'][\'label\'];
    $name = \'post_content\';
    $fields[$name] = array(
        \'label\' => $label,
        \'input\' => \'html\',
        \'html\' => \'<textarea name="attachments[\'.$post->ID.\'][\'.$name.\']" id="\'.$name.\'-\'.$post->ID.\'" class="my-tinymce-class">\'.nl2br($value).\'</textarea>\'
    );
}
return $fields;}
add_action(\'admin_head\', \'add_tiny_mce_hook\');
add_filter(\'attachment_fields_to_edit\', \'alternate_tiny_mce_method\', 10, 2);
在“编辑媒体”页面上可以正常工作(wp admin/Media.php?attachment\\u id=XXX&;action=Edit)。但是,打开“添加图像”模式窗口,并从“编辑帖子”切换到“图库”选项卡后,我遇到了一个问题。我无法通过TinyMCE编辑器添加链接。每次单击弹出模式中的添加链接时,都不会发生任何事情。

我在图库中看到了这个问题。js(gallery.dev.js;wp admin/js/gallery.js;WordPress加载此js)。有三句话给我带来了麻烦:。。。。tinymce=w.tinymce;tinyMCE=w.tinyMCE;t、 编辑器=tinymce。EditorManager。activeEditor;。。。。

当我放下“tinymce=w.tinymce;”和“tinyMCE=w.tinyMCE;”并替换为“tinymce.EditorManager.activeEditor;”使用“w.tinymce.EditorManager.activeEditor”可以很好地工作。但是,我不想对WordPress进行核心修改

我的WordPress版本是3.2.1

请帮忙。

2 个回复
SO网友:ungestaltbar

就在两天前,我也有同样的“问题”。最后,它不知怎么起作用了,但根本不可靠。切换编辑器只是偶尔不起作用,正如所说,这不是一个可靠的解决方案。

在这里使用tinyMCE的唯一原因是能够添加到附件的链接。我走了另一条路,找到了这个解决方案:

http://www.screenr.com/xYas

我为其他人做过这件事,所以这只是一个早期演示,快速&;肮脏的最后的剧本有点漂亮。如果您感兴趣,请发一封短邮件给kai@[->我的用户名<;-]。在twitter@ungestaltbar上查找我

SO网友:Jörg

尝试增加attachment_fields_to_edit 过滤器:

add_filter(\'attachment_fields_to_edit\', \'alternate_tiny_mce_method\', 15, 2);

结束

相关推荐

启动AJAX生成的表单的TinyMCE按钮

如果我按照有关如何为短代码添加tinyMCE按钮的教程进行操作(例如:http://www.garyc40.com/2010/03/how-to-make-shortcodes-user-friendly/ )如果我在thickbox中创建一个启动表单的按钮,则始终会有以下代码来创建启动的表单:// executes this when the DOM is ready jQuery(function(){ // creates a form to be displ