Como definir padrões no wpLink ()

9

Com o WP 3.2, o WordPress talvez tenha uma nova função para adicionar Link-Quicktags ao editor. Mas eu encontrei uma função para definir padrões para o botão de link:

Dê uma olhada na linha 278 do wplink.js .

    setDefaultValues : function() {
        // Set URL and description to defaults.
        // Leave the new tab setting as-is.
        inputs.url.val( 'http://' );
        inputs.title.val( '' );

        // Update save prompt.
        inputs.submit.val( wpLinkL10n.save );
    },

Como é possível definir os valores para um valor personalizado?

Isso é possível e você pode me ajudar?

Obrigado por uma resposta de um especialista em JavaScript.

bueltge
fonte

Respostas:

4

Também é um pequeno exemplo para alterar a URL no botão de link para usar a URL do blog instalado. Use JS de impressão no rodapé, não uma inclusão do arquivo js via wp_enqueue_script()desenvolvimento mais rápido, especialmente para este pequeno requisito, mas não tão padrão e fino, como o exemplo da outra resposta.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

<?php
/**
 * Plugin Name: Change URL in Link Popup
 * Plugin URI:  http://bueltge.de/
 * Description: Adds a domain link button to the post editing screen.
 * Version:     0.0.1
 * Author:      Frank B&uuml;ltge
 */

if ( ! function_exists( 'fb_add_quicktag_button' ) ) {

    function fb_add_quicktag_button() {
        ?>
        <script type="text/javascript">
            // change link on Link popup in TinyMCE and quicktag popup
            ( function( $ ) {

                if ( typeof wpLink == 'undefined' )
                    return;

                wpLink.setDefaultValues = function () { 
                    $('#url-field').val('<?php echo home_url( '/' ); ?>');
                };
            } )( jQuery );
        </script>
        <?php
    }
    add_action( 'admin_footer-post-new.php', 'fb_add_quicktag_button', 9999 );
    add_action( 'admin_footer-post.php',     'fb_add_quicktag_button', 9999 );

}
bueltge
fonte
@ B & uuml; ltge +1;)
kaiser
11
@kaiser: +1 para ler minhas coisas no profundo
bueltge
2

Coloque o seguinte no seu functions.php; melhor é um plugin personalizado.

add_action( 'admin_print_scripts-post.php',     'wpse22643_overwrite_wplinks' );
add_action( 'admin_print_scripts-post-new.php', 'wpse22643_overwrite_wplinks' );
/**
 * enqueue script
 */
function wpse22643_overwrite_wplinks( $hook ) {

    // register is important, that other plugins will change or deactivate this
    wp_register_script(
        'overwrite-wplinks', 
        get_stylesheet_directory_uri() . '/js/overwrite-wplinks.js',
        array( 'jquery' ),
        '',
        TRUE
    );
    wp_enqueue_script( 'overwrite-wplinks' );
}

Verifique o caminho para o arquivo js que você deseja incluir acima. Em seguida, coloque o seguinte código no arquivo js acima mencionado.

( function( $ ) {

    if ( typeof wpLink == 'undefined' )
        return;

    wpLink.setDefaultValues = function () { 
        $('#url-field').val('http://example.com');
        $('#link-title-field').val('This works :)');
        $('#wp-link-submit').val( 'Use this link' );
    };
} )( jQuery );

Você pode alterar os valores padrão agora.

Joshua Abenazer
fonte
Obrigado pela sua resposta. Mas isso é uma substituição das cordas, certo? Eu procuro por um formulário de substituição dos valores padrão. Mas, por enquanto, é uma solução e apenas aprimorarei a tradução.
bueltge
2
É da mesma maneira que setDefaultValues ​​define os padrões.
Joshua Abenazer
11
Alterei sua solução, apenas para codex e para que outras pessoas usem um exemplo de conformidade com codex.
bueltge