如何在wpLink()上设置默认值


9

在WP 3.2中,WordPress可能具有一项新功能,可以将Link-Quicktags添加到编辑器中。但是我发现了一个为链接按钮设置默认值的函数:

看一下wplink.js第278行

    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 );
    },

如何为自定义值设置值?

这可能吗,您能帮我吗?

感谢JavaScript专家的回答。

Answers:


4

也是一个小示例,用于更改链接按钮中的URL以使用已安装的博客中的URL。在页脚中使用print JS,而不是通过wp_enqueue_script()-ist更快的vor开发来从js文件中包含,特别是针对此小要求,但在标准和精细(例如从另一个答案中获得示例)方面则不这样。

在此处输入图片说明

在此处输入图片说明

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

}

@ B&uuml; ltge +1;)
kaiser

1
@kaiser:+1以深入阅读我的东西
bueltge

2

将以下内容放入您的functions.php; 更好的是一个自定义插件。

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

在上方检查要包含的js文件的路径。然后将以下代码放在上述js文件中。

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

您现在可以更改默认值。


感谢您的回答。但这是字符串的覆盖,对吗?我搜索替换表单的默认值。现在,这是一个解决方案,我将仅提供翻译方面的改进。
bueltge 2012年

2
与setDefaultValues设置默认值的方式相同。
约书亚·阿贝纳泽

1
我更改了您的解决方案,仅适用于法典,而其他人则使用了符合法典的示例。
bueltge
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.