Make WordPress Core

Ticket #42587: Css_classes_field_for_wp_link__Consider_it_s_really_helpfull_for_developers.patch

File Css_classes_field_for_wp_link__Consider_it_s_really_helpfull_for_developers.patch, 2.9 KB (added by mikhailroot, 7 years ago)

Patch with css classes editor field for wp-link implementation.

  • trunk/src/wp-includes/class-wp-editor.php

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    17041704                                        <label><span><?php _e( 'Link Text' ); ?></span>
    17051705                                        <input id="wp-link-text" type="text" /></label>
    17061706                                </div>
     1707                <div class="wp-link-text-field">
     1708                    <label><span><?php _e( 'CSS Class' ); ?></span>
     1709                        <input id="wp-link-classes" type="text" /></label>
     1710                </div>
    17071711                                <div class="link-target">
    17081712                                        <label><span></span>
    17091713                                        <input type="checkbox" id="wp-link-target" /> <?php _e( 'Open link in a new tab' ); ?></label>
  • trunk/src/wp-includes/css/editor.css

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    16291629        }
    16301630
    16311631        #wp-link-wrap.has-text-field .query-results {
    1632                 top: 235px;
     1632                top: 270px;
    16331633        }
    16341634
    16351635        #link-selector {
  • trunk/src/wp-includes/js/wplink.js

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    3030
    3131                        // Input
    3232                        inputs.text = $( '#wp-link-text' );
     33            inputs.classes = $( '#wp-link-classes' );
    3334                        inputs.url = $( '#wp-link-url' );
    3435                        inputs.nonce = $( '#_ajax_linking_nonce' );
    3536                        inputs.openInNewTab = $( '#wp-link-target' );
     
    221222                },
    222223
    223224                mceRefresh: function( searchStr, text ) {
    224                         var linkText, href,
     225                        var linkText, href, classes,
    225226                                linkNode = getLink(),
    226227                                onlyText = this.hasSelectedText( linkNode );
    227228
     
    229230                                linkText = linkNode.textContent || linkNode.innerText;
    230231                                href = editor.dom.getAttrib( linkNode, 'href' );
    231232
     233                classes = editor.dom.getAttrib( linkNode, 'class' );
     234                inputs.classes.val(classes);
     235
    232236                                if ( ! $.trim( linkText ) ) {
    233237                                        linkText = text || '';
    234238                                }
     
    304308
    305309                        return {
    306310                                href: $.trim( inputs.url.val() ),
    307                                 target: inputs.openInNewTab.prop( 'checked' ) ? '_blank' : null
     311                                target: inputs.openInNewTab.prop( 'checked' ) ? '_blank' : null,
     312                class: $.trim( inputs.classes.val() )
    308313                        };
    309314                },
    310315
    311316                buildHtml: function(attrs) {
    312                         var html = '<a href="' + attrs.href + '"';
     317            var html = '<a href="' + attrs.href + '" class="'+attrs.class+'"';
    313318
    314319                        if ( attrs.target ) {
    315320                                html += ' rel="noopener" target="' + attrs.target + '"';