WordPress.org

Make WordPress Core

Ticket #38922: 38922-2.diff

File 38922-2.diff, 5.1 KB (added by chriscct7, 3 years ago)
  • wp-admin/includes/ajax-actions.php

     
    139139         * @param string      $s          The search term.
    140140         */
    141141        $term_search_min_chars = (int) apply_filters( 'term_search_min_chars', 2, $tax, $s );
    142 
    143         /*
    144          * Require $term_search_min_chars chars for matching (default: 2)
    145          * ensure it's a non-negative, non-zero integer.
    146          */
    147142        if ( ( $term_search_min_chars == 0 ) || ( strlen( $s ) < $term_search_min_chars ) ){
    148143                wp_die();
    149144        }
    150145
    151         $results = get_terms( $taxonomy, array( 'name__like' => $s, 'fields' => 'names', 'hide_empty' => false ) );
    152 
    153         echo join( $results, "\n" );
     146        echo $term_search_min_chars;
    154147        wp_die();
    155148}
    156149
     
    177170                $test_str = '"wpCompressionTest Lorem ipsum dolor sit amet consectetuer mollis sapien urna ut a. Eu nonummy condimentum fringilla tempor pretium platea vel nibh netus Maecenas. Hac molestie amet justo quis pellentesque est ultrices interdum nibh Morbi. Cras mattis pretium Phasellus ante ipsum ipsum ut sociis Suspendisse Lorem. Ante et non molestie. Porta urna Vestibulum egestas id congue nibh eu risus gravida sit. Ac augue auctor Ut et non a elit massa id sodales. Elit eu Nulla at nibh adipiscing mattis lacus mauris at tempus. Netus nibh quis suscipit nec feugiat eget sed lorem et urna. Pellentesque lacus at ut massa consectetuer ligula ut auctor semper Pellentesque. Ut metus massa nibh quam Curabitur molestie nec mauris congue. Volutpat molestie elit justo facilisis neque ac risus Ut nascetur tristique. Vitae sit lorem tellus et quis Phasellus lacus tincidunt nunc Fusce. Pharetra wisi Suspendisse mus sagittis libero lacinia Integer consequat ac Phasellus. Et urna ac cursus tortor aliquam Aliquam amet tellus volutpat Vestibulum. Justo interdum condimentum In augue congue tellus sollicitudin Quisque quis nibh."';
    178171
    179172                 if ( 1 == $_GET['test'] ) {
    180                         echo $test_str;
    181                         wp_die();
     173                        echo $test_str;
     174                        wp_die();
    182175                 } elseif ( 2 == $_GET['test'] ) {
    183176                        if ( !isset($_SERVER['HTTP_ACCEPT_ENCODING']) )
    184177                                wp_die( -1 );
  • wp-admin/js/tags-suggest.js

     
    11/**
    22 * Default settings for jQuery UI Autocomplete for use with non-hierarchical taxonomies.
    33 */
    4 ( function( $ ) {
     4( function( $, window ) {
    55        if ( typeof window.tagsSuggestL10n === 'undefined' || typeof window.uiAutocompleteL10n === 'undefined' ) {
    66                return;
    77        }
     
    4545                options = $.extend( {
    4646                        source: function( request, response ) {
    4747                                var term;
     48                                var minLength;
    4849
    4950                                if ( last === request.term ) {
    5051                                        response( cache );
     
    5455                                term = getLast( request.term );
    5556
    5657                                $.get( window.ajaxurl, {
     58                                        tax: taxonomy,
     59                                        q: term,
    5760                                        action: 'ajax-tag-search',
    58                                         tax: taxonomy,
    59                                         q: term
    60                                 } ).always( function() {
    61                                         $element.removeClass( 'ui-autocomplete-loading' ); // UI fails to remove this sometimes?
    62                                 } ).done( function( data ) {
    63                                         var tagName;
    64                                         var tags = [];
     61                                } ).done( function( limit ) {
     62                                        minLength = limit;
     63                                        if ( minLength == 0 || term.length < minLength ){
     64                                                $element.removeClass( 'ui-autocomplete-loading' ); // If under limit hide auto-complete
     65                                                response( cache );
     66                                                return;
     67                                        }
    6568
    66                                         if ( data ) {
    67                                                 data = data.split( '\n' );
     69                                        $.get( window.tagsSuggestL10n.rest_url, {
     70                                                taxonomy: taxonomy,
     71                                                search: term
     72                                        } ).always( function() {
     73                                                $element.removeClass( 'ui-autocomplete-loading' ); // UI fails to remove this sometimes?
     74                                        } ).done( function( data ) {
     75                                                response( data );
     76                                        } );
    6877
    69                                                 for ( tagName in data ) {
    70                                                         var id = ++tempID;
    71 
    72                                                         tags.push({
    73                                                                 id: id,
    74                                                                 name: data[tagName]
    75                                                         });
    76                                                 }
    77 
    78                                                 cache = tags;
    79                                                 response( tags );
    80                                         } else {
    81                                                 response( tags );
    82                                         }
     78                                        last = request.term;
    8379                                } );
    84 
    85                                 last = request.term;
    8680                        },
    8781                        focus: function( event, ui ) {
    8882                                $element.attr( 'aria-activedescendant', 'wp-tags-autocomplete-' + ui.item.id );
     
    118112                        close: function() {
    119113                                $element.attr( 'aria-expanded', 'false' );
    120114                        },
    121                         minLength: 2,
    122115                        position: {
    123116                                my: 'left top+2'
    124117                        },
     118                        minLength: 2,
    125119                        messages: {
    126120                                noResults: window.uiAutocompleteL10n.noResults,
    127121                                results: function( number ) {
     
    180174                return this;
    181175        };
    182176
    183 }( jQuery ) );
     177}( jQuery, window ) );
  • wp-includes/script-loader.php

     
    547547                        'termSelected' => __( 'Term selected.' ),
    548548                        'termAdded'    => __( 'Term added.' ),
    549549                        'termRemoved'  => __( 'Term removed.' ),
     550                        'rest_url'     => rest_url( '/wp/v2/tags' )
    550551                ) );
    551552
    552553                $scripts->add( 'post', "/wp-admin/js/post$suffix.js", array( 'suggest', 'wp-lists', 'postbox', 'tags-box', 'underscore', 'word-count', 'wp-a11y' ), false, 1 );