在我的编辑器中,我想使用TinyMCE生成的弹出窗口在textarea中插入一些复杂的短代码。我使用TinyMCE API显示弹出窗口(此问题的底部)。弹出窗口是我的主题中的一个PHP文件。我想:
保护此文件不受外部访问(if ( ! defined( \'ABSPATH\' ) )
不工作)在此弹出窗口中使用一些WP函数你可以建议哪种方式?
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
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与编辑器通信。