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ć wpLink
funkcję 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.close
lub wpLink.textarea
, więc zobacz wplink.js
więcej informacji.
Przepraszam, że po prostu trzeba się długo bawić, chyba że brakuje mi czegoś podstawowego, ale to powinno ci pomóc.
wp_enqueue_script('wpdialogs');