Próbowałem trochę i nie udało mi się, aby działało to idealnie, ale jest blisko, trudno jest rozszerzyć, <form>ponieważ style wyskakujące są zakodowane na stałe, co jest możliwe przy większej pracy.
Aby rozpocząć, możesz:
Kolejkuj javascript i style wyskakującego łącza, głównym plikiem .js jest wp-includes/wplink.js. W zależności od tego, gdzie to ładujesz, możesz potrzebować dodać więcej lub mniej skryptów / stylów, ponieważ zależy to od kilku ( thickbox, jQuery-ui, ui-dialog itp .).
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');
Ustaw zmienną do przetłumaczenia:
var wpLinkL10n = {"title":"Insert\/edit link","update":"Update","save":"Add Link","noTitle":"(no title)","noMatchesFound":"No matches found."};
Teraz powinieneś być w stanie rozszerzyć wpLinkfunkcję za pomocą czegoś takiego:
// 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;
});
Potrzebujesz <form>elementu do wyskakującego okienka, który przez defualt jest zbyt długi, aby go wkleić tutaj, możesz zobaczyć defualt tutaj: https://gist.github.com/wycks/6402573
Teraz są z tym poważne problemy, mianowicie nie dodałem do funkcji żadnego javascript do zamykania lub przesyłania (lub sprawdzania), takiego jak wpLink.closelub wpLink.textarea, więc zobacz wplink.jswięcej informacji.
Przepraszam, że po prostu trzeba się długo bawić, chyba że brakuje mi czegoś podstawowego, ale to powinno ci pomóc.