簡體   English   中英

如何為WordPress中的自定義TinyMCE按鈕分配href值?

[英]How do I assign an href value to a custom TinyMCE button in WordPress?

好的,這是在扼殺我。 我寫了一個WordPress插件,它為TinyMCE編輯器添加了一個自定義按鈕,它工作得很好,除了由按鈕觸發的選項彈出窗口加載不同於WP原生的類似彈出窗口...

具體來說,當您單擊WordPress中TinyMCE工具欄上方的“添加媒體”按鈕時,“添加媒體”窗口將以精美的厚箱模式打開。 它也會加載到iframe中,因為獲取輸出的按鈕HTML包含在一個帶有URL href值的錨標記中:

<a href="http://.../wp-admin/media-upload.php?post_id=916&amp;TB_iframe=1&amp;width=640&amp;height=354" class="thickbox add_media" id="content-add_media" title="Add Media" onclick="return false;">

但是當我的按鈕的HTML輸出時,錨標記的href值為'javascript:;':

<a role="button" id="content_companyinfo" href="javascript:;" class="mceButton mceButtonEnabled mce_companyinfo" onmousedown="return false;" onclick="return false;" aria-labelledby="content_companyinfo_voice" title="Insert company info fields" tabindex="-1">

這是我的TinyMCE編輯器插件代碼: http//pastebin.com/kuQJRHJR

以下是添加媒體按鈕的WP核心TinyMCE編輯器插件: http//core.trac.wordpress.org/browser/trunk/wp-includes/js/tinymce/plugins/media/editor_plugin_src.js

TinyMCE addButton函數不允許您設置href值,只允許鏈接到使用addCommand創建的自定義命令函數的cmd值。

我嘗試在addButton函數的設置中將類“thickbox”添加到我的按鈕,但這有一個奇怪的效果,即在我的普通彈出窗口后面創建一個厚盒模式。

任何人都知道如何以正確的方式做到這一點? 提前致謝!

  1. 在你的插件的editor_plugin.js init函數中添加這個函數:

     ed.onInit.add(function(ed, evt) { // make that the interactions window will open in a thickbox by adding the button the right attributes jQuery('#content_myInteractions').addClass('thickbox'); }); 

    將“content_myInteractions”更改為您的按鈕ID。

  2. 在按鈕的命令中,使用tb_show()在thickbox中打開所需的內容:

     tb_show('myInteractions', '#TB_inline?height=300&width=400&inlineId=interactions_wrapper'); 

我從我輸入到jQuery(內聯內容)頁面底部的div中獲取了我的thickbox內容。 您也可以使用iframe。 這可能對thickbox.net有所幫助

暫無
暫無

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

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