使用WP函数的TinyMCE弹出窗口

时间:2012-11-27 作者:Francesco

在我的编辑器中,我想使用TinyMCE生成的弹出窗口在textarea中插入一些复杂的短代码。我使用TinyMCE API显示弹出窗口(此问题的底部)。弹出窗口是我的主题中的一个PHP文件。我想:

保护此文件不受外部访问(if ( ! defined( \'ABSPATH\' ) ) 不工作)

TinyMCE API调用

init : function(ed, url) {
        // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand(\'mcecax_webnews\');
        ed.addCommand(\'mcecax_webnews\', function() {
                ed.windowManager.open({
                        file : url + \'/dialog.php\',
                        width : 650 + ed.getLang(\'cax_webnews.delta_width\', 0),
                        height : 500 + ed.getLang(\'cax_webnews.delta_height\', 0),
                        inline : 1
                }, {
                        plugin_url : url, // Plugin absolute URL
                        some_custom_arg : \'custom arg\' // Custom argument
                });
        });
[...] CUTTED

1 个回复
SO网友:bueltge

TinyMCE的弹出窗口位于WordPress之外。您必须包括wp-load.php, 与WordPress安装外部相同的句柄。

但是考虑一下这个解决方案,也许它更干净,您可以在json字符串中创建数据,并在弹出窗口中处理这些数据。阅读有帮助this post 关于包括od wp负载。php。

在这里您可以找到Gist 以WordPress中编写TinyMCE弹出对话框为例,不包括wp-load.php. 作者还写了一篇tutorial, 但只能用德语。

还有这个提示WPSE Question 关于教程。本教程仅使用javascript创建弹出式内容。可能更安全,句柄的数据也将通过js与编辑器通信。

结束

相关推荐

如何更改TinyMCE按钮“i”以创建i标记而不是em?

我想让“italic”按钮返回“Styleing”行为,而不是垃圾邮件<em>. 我要那个按钮打印<i> 标记,而不是<em>.<em> 标签在垃圾邮件搜索引擎中变得很流行,但现在我希望它保持原样:一种样式化功能,例如改变叙述的声音。我有一个脚本来创建自己的样式,所以我将包括<em> 标记在那里,将其用作REALLY 是:EMPHASIS. 然后我将相应地对其进行样式设置(大,粗体)。所以现在我的问题是,我确信我可以在JavaScript中找到要