Я попытался немного и не мог заставить это работать идеально, но это близко, трудно расширять с <form>
жестко закодированными для всплывающих стилей, думал, что возможно с большим количеством работы.
Для начала вы можете:
Поставьте в очередь ссылку всплывающего javascript и стили, основной файл .js wp-includes/wplink.js
. В зависимости от того, где вы загружаете это, вам может понадобиться добавить больше или меньше скриптов / стилей, так как он опирается на несколько ( thinbox, 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>
Для всплывающего окна вам нужен элемент, который по умолчанию является длинным для вставки, вы можете увидеть этот элемент здесь: https://gist.github.com/wycks/6402573
Теперь есть серьезные проблемы с этим, а именно, я не добавил закрывающий или отправляющий (или проверяющий) javascript к функции, такой как wpLink.close
или wpLink.textarea
, поэтому смотрите wplink.js
для получения дополнительной информации.
Извините, это займет много времени, если я не пропущу что-то простое, но это должно помочь вам в этом.
wp_enqueue_script('wpdialogs');