[英]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&TB_iframe=1&width=640&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”添加到我的按鈕,但這有一個奇怪的效果,即在我的普通彈出窗口后面創建一個厚盒模式。
任何人都知道如何以正確的方式做到這一點? 提前致謝!
在你的插件的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。
在按鈕的命令中,使用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.