Não existe uma maneira ética de fazer isso. Mas ainda há uma maneira de fazer isso. O WordPress escreveu o script wpLink, tendo em mente que o editor está lá, mas ainda assim o WordPress manipula quando o editor não está lá (Good Thing)
Considere este exemplo e assuma que o estamos usando no front-end no rodapé.
Primeiro, enfileire o estilo e os scripts essenciais.
function enqueue_scripts_209490() {
wp_enqueue_script('wplink');
wp_enqueue_style( 'editor-buttons' );
}
add_action('wp_enqueue_scripts', 'enqueue_scripts_209490');
Agora conecte esta função no rodapé Leia os comentários embutidos
function display_wplink_html_209490() {
//Our textarea, click to open the link edior and insert the link in same editor
echo '<textarea id="example_209490"></textarea>';
// Require the core editor class so we can call wp_link_dialog function to print the HTML.
// Luckly it is public static method ;)
require_once ABSPATH . "wp-includes/class-wp-editor.php";
_WP_Editors::wp_link_dialog(); ?>
<script type="text/javascript">
/* We need ajaxurl to send ajax to retrive links */
var ajaxurl = "<?php echo admin_url( 'admin-ajax.php'); ?>";
jQuery(document).ready(function (){
jQuery('#example_209490').click(function (){
wpLink.open('example_209490'); /* Bind to open link editor! */
});
})
</script><?php
}
add_action('wp_footer', 'display_wplink_html_209490');
Nota: Ele não funcionará quando o usuário não estiver conectado devido ao erro js
setUserSetting
não estar definido e nenhuma resposta AJAX quando o usuário não estiver conectado.