Як використовувати "Додати посилання" спливаюче віджет WordPress


12

У редакторі WYSIWYG WordPress з'являється спливаюче вікно, якщо ви хочете додати посилання на текст. Чи є можливість отримати доступ до цієї функціональності? Оскільки я хочу використовувати це спливаюче вікно для створеного вами віджету WordPress, щоб ви могли додати посилання на віджет, якщо налаштувати його в бекенді.

Ось скріншот того, що я маю на увазі: введіть тут опис зображення

Відповіді:


8

Я спробував трохи, і не міг змусити це працювати ідеально, але це близько, важко розширити, коли <form>для стилів спливаючих вікон є жорстким кодом, думка можлива з більшою роботою.

Для початку ви можете:

Запропонуйте спливаюче вікно javascript та стилі, головний .js файл wp-includes/wplink.js. Залежно від того, де ви завантажуєте це, вам може знадобитися додати більше або менше сценаріїв / стилів, оскільки він покладається на декілька ( thickbox, jQuery-ui, ui-діалог тощо ).

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 - це спосіб довго вклеїти сюди, його можна побачити тут: https://gist.github.com/wycks/6402573

Зараз з цим виникають основні проблеми, а саме я не додав JavaScript до функції закриття чи подання (чи перевірки), наприклад, wpLink.closeабо wpLink.textarea, тому див. wplink.jsДля отримання додаткової інформації.

Вибачте, що це просто довгий шлях до моменту, якщо я не пропускаю щось базове, але це повинно отримати вас більшу частину шляху.


Велике спасибі за вашу допомогу. Я вирішив посилання на стиль / сценарій за допомогою: <? wp_editor ('', ''); ?> - То, можливо, я можу отримати коротше рішення! Але все ще залишається питання, як отримати вибране посилання.
Benny Neugebauer

Дякуємо за повідомлення про це; це призвело до того, що я знайшов потрібну відповідь. У моєму випадку мені просто довелося чітко запустити сценарій "wpdialogs", який не працював, коли вказано як залежність. wp_enqueue_script('wpdialogs');
Inigoesdr
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.