2013-05-21 87 views
1

在這裏我的問題:我有一些不同的文本區域(不是Wordpress經典編輯器,但許多從Visual Composer插件Wysiwyg編輯器)。我的主題包括tinymce的一些簡碼。但是,當我想要在特定的textarea中插入短代碼時,短代碼每次都會出現在經典編輯器中。 所以我會嘗試在代碼中說:「將代碼放在我想要插入短代碼的文本框中,而不是在傳統的發佈者中」。 這裏我的代碼,我認爲解決的辦法可能是:WordPress的 - 在另一個文本編輯器中添加自定義tinymce短代碼,不僅經典編輯器

addWithPopup: function(ed, title, id) { 
     ed.add({ 
      title: title, 
      onclick: function() { 
       tinyMCE.activeEditor.execCommand('FreshShortcodesPopup', false, { 
        title: title, 
        identifier: id 
       }); 
      } 
     }); 
    }, 

希望你能幫助我... 問候。數學。

回答

0

請勿使用tinyMCE.activeEditor來解決編輯器問題。除非用戶明確點擊到另一個編輯器,否則tinyMCE.activeEditor不會更改。另一個陷阱是tinyMCE.activeEditor未初始化,除非單擊編輯器。 這是更好地使用它的ID來解決編輯器實例:

tinymce.get('your_editor_id').execCommand(... 

UPDATE:怎麼樣

 onclick: function(ed) { 
      console.log('ed:',ed); 
      ed.execCommand('FreshShortcodesPopup', false, { 
       title: title, 
       identifier: id 
      }); 
     } 
+0

謝謝您的幫助,對不起我的問題,但我怎麼能找到editor_id? – xmathx

+0

有一個源html元素爲每個編輯器獲取inialized(在大多數情況下textarea) - 編輯器獲得相同的編號 – Thariama

+0

我試圖與get(0),1,2但已在主編輯器中。隨着3,4,沒有什麼作品。我發現這個tinyMCE.get('wysiwyg-acf-field-shortcode_area-519c9a9e042ec'),但彈出窗口添加短碼不會出現。 – xmathx

相關問題