WordPress widget'ı için "Bağlantı ekle" açılır penceresi nasıl kullanılır


12

WordPress'in WYSIWYG editöründe, bir metin için bağlantı eklemek istiyorsanız açılır pencere açılır. Bu işlevselliğe erişme imkanı var mı? Bu pop-up'ı, arka uçta yapılandırırsanız bir widget'a bağlantılar ekleyebilmeniz için oluşturduğum bir WordPress widget'ı için kullanmak istiyorum.

İşte ne demek istediğimin bir ekran görüntüsü: resim açıklamasını buraya girin

Yanıtlar:


8

Biraz denedim ve mükemmel çalışmak için bu alamadım, ama yakın, zor <form>kodlar pop-up stilleri ile uzatmak zor , daha fazla çalışma ile mümkün düşündüm.

Başlamak için şunları yapabilirsiniz:

Açılır bağlantı javascript ve stilleri enqueue, ana .js dosyasıdır wp-includes/wplink.js. Bunu nereye yüklediğinize bağlı olarak, birkaçına ( kalın kutu, jQuery-ui, ui-iletişim kutusu, vb. ) Bağlı olduğundan daha fazla veya daha az komut dosyası / stil eklemeniz gerekebilir .

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');

Çevrilebilir değişkeni ayarlayın:

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

Şimdi gerektiğini uzatmak mümkün wpLinkgibi bir şey kullanarak işlevini:

// 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 ile buraya yapıştırmanın uzun bir yolu olan pop-up için bir öğeye ihtiyacınız var, defualt'ı burada görebilirsiniz: https://gist.github.com/wycks/6402573

Şimdi bu ile ilgili büyük sorunlar var yani herhangi bir kapanış veya teslim (veya kontrol) javascript işlevini, wpLink.closeveya gibi eklemedim wpLink.textarea, bu yüzden wplink.jsdaha fazla bilgi için bakın .

Üzgünüm, basit bir şey eksik olmadıkça bununla uğraşmak çok uzun sürüyor, ancak bu sizi en iyi şekilde almalı.


Yardımın için çok teşekkürler. Stil / script referanslarını kullanarak çözdüm: <? wp_editor ('', ''); ?> - Belki daha kısa bir çözüm bulabilirim! Ancak yine de seçilen bağlantıyı nasıl alacağınız sorusu var.
Benny Neugebauer

Bunu gönderdiğiniz için teşekkürler; ihtiyacım olan cevabı bulmamı sağladı. Benim durumumda sadece bağımlılık olarak belirtildiğinde çalışmayan "wpdialogs" betiğini enqueque etmek zorunda kaldım. wp_enqueue_script('wpdialogs');
Inigoesdr
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.