dsnnvpobaljihv3490 2014-07-10 11:15
浏览 96
已采纳

Wordpress功能在自定义TinyMCE编辑器按钮内不起作用

I created simple TinyMCE plugin like below. Basically it's a new button in TinyMCE editor that'll pop up lightbox (thick box) when pressed.

// 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);

and call it via:

// call the PHP form
function callthatthickbox(url) {
    tb_show( "This is Thick Box", url + '/thickbox-form.php', false);   
}

The thick box is popped up and the PHP file (the thick box's content) is called alright, but all the WP functions don't work inside those PHP file such as wp_list_categories() or bloginfo('url').

Apparently the PHP file lose its right to access WP functions. I could try passing variables via URL but it doesn't seem to be elegant solution, especially if I want to pass an array.

Anybody has better solution?

many thanks before!

EDIT: I tried to load wp-load.php inside PHP file and it works, but isn't that a bit overkill? any thought?

  • 写回答

1条回答 默认 最新

  • dsh7623 2014-07-10 15:07
    关注

    check out the load process for wordpress. if you are calling the functions from your plugin file they won't be loaded yet.

    What you will need to do is

    add_action('init', 'your function callback name');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog