如何使用“添加链接”弹出WordPress小部件


12

如果要添加文本链接,则在WordPress的WYSIWYG编辑器中弹出。是否可以使用此功能?因为我想将此弹出窗口用于我创建的WordPress小部件,所以如果在后端配置它,则可以向小部件添加链接。

这是我的意思的屏幕截图: 在此处输入图片说明

Answers:


8

我尝试了一下,无法使它完美地工作,但是它很接近,很难通过将<form>弹出式样式进行硬编码来扩展,认为可以通过更多工作来实现。

要开始使用,您可以:

使链接弹出JavaScript和样式入队,主要的.js文件是wp-includes/wplink.js。根据加载的位置,您可能需要添加或多或少的脚本/样式,因为它依赖于几种(thickbox,jQuery-ui,ui-dialog等)。

wp_enqueue_script('wplink');
wp_enqueue_script('wpdialogs-popup'); //also might need this

// need these styles
wp_enqueue_style('wp-jquery-ui-dialog');
wp_enqueue_style('thickbox');

设置可翻译变量:

var wpLinkL10n = {"title":"Insert\/edit link","update":"Update","save":"Add Link","noTitle":"(no title)","noMatchesFound":"No matches found."};

现在,您应该可以wpLink使用以下方式扩展功能:

// test button
<button class="link-btn">Click button for Links</button>

jQuery('.link-btn').on('click', function(event) {
  wpActiveEditor = true;
  wpLink.title = "Hello"; //Custom title example
  wpLink.open();    // Open the link popup
  return false;
});

您需要一个<form>弹出元素,通过defualt可以很长时间地将其粘贴到此处,您可以在此处看到defualt元素:https : //gist.github.com/wycks/6402573

现在存在主要问题,即我没有向函数添加任何关闭或提交(或检查)JavaScript,例如wpLink.closewpLink.textarea,因此请参阅wplink.js以获取更多信息。

抱歉,这需要花很长时间才能弄明白,除非我缺少一些基本的知识,但这应该能为您带来最大的帮助。


非常感谢您的帮助。我使用以下方法解决了样式/脚本引用:wp_editor('',``); ?>-也许我可以得到一个较短的解决方案!但是仍然存在有关如何接收所选链接的问题。
Benny Neugebauer 2013年

感谢您发布;这导致我找到了所需的答案。在我的情况下,我只需要显式地加入“ wpdialogs”脚本,当将其指定为依赖项时,该脚本将不起作用。wp_enqueue_script('wpdialogs');
Inigoesdr
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.