簡體   English   中英

Wordpress功能在自定義TinyMCE編輯器按鈕內不起作用

[英]Wordpress functions doesn't work inside custom TinyMCE editor button

我創建了一個簡單的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');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM