我创建了一个简单的TinyMCE插件,如下所示。基本上,这是TinyMCE编辑器中的新按钮,按下后会弹出灯箱(厚框)。
// create plugin
tinymce.create('tinymce.plugins.callthickbox', {
init : function(ed, url) {
ed.addButton('callthickbox', {
title : 'This is Thick Box',
cmd : 'showthickbox'
});
ed.addCommand('showthickbox', function() {
ed.execCommand('mceInsertContent', false, callthatthickbox(url,null));
});
//blah blah blah the rest...
});
tinymce.PluginManager.add('callthickbox', tinymce.plugins.callthickbox);
并通过以下方式调用:
// call the PHP form
function callthatthickbox(url) {
tb_show( "This is Thick Box", url + '/thickbox-form.php', false);
}
将会弹出厚框,并且PHP文件(厚框的内容)也可以正常使用,但是所有WP函数在这些PHP文件中都无法工作,例如wp_list_categories()或bloginfo('url')。
显然,PHP文件失去了访问WP函数的权利。我可以尝试通过URL传递变量,但这似乎不是一个很好的解决方案,特别是如果我想传递数组的话。
有人有更好的解决方案吗?
之前非常感谢!
编辑:我试图将wp-load.php加载到PHP文件中,并且可以正常工作,但这不是有点过大了吗?任何想法?
查看wordpress的加载过程。如果您正在从插件文件中调用函数,那么它们将不会被加载。
您需要做的是
add_action('init', 'your function callback name');
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句