WordPress.org

Make WordPress Core

Ticket #38922: 38922.3.diff

File 38922.3.diff, 4.2 KB (added by adamsilverstein, 3 years ago)
  • src/wp-admin/includes/admin-filters.php

    diff --git src/wp-admin/includes/admin-filters.php src/wp-admin/includes/admin-filters.php
    index 141e8aa..e318a7a 100644
    add_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async 
    119119add_action( 'upgrader_process_complete', 'wp_version_check', 10, 0 );
    120120add_action( 'upgrader_process_complete', 'wp_update_plugins', 10, 0 );
    121121add_action( 'upgrader_process_complete', 'wp_update_themes', 10, 0 );
     122
  • src/wp-admin/includes/ajax-actions.php

    diff --git src/wp-admin/includes/ajax-actions.php src/wp-admin/includes/ajax-actions.php
    index 20ef07e..748d2f1 100644
    function wp_ajax_fetch_list() { 
    101101/**
    102102 * Ajax handler for tag search.
    103103 *
     104 * @deprecated 4.8.0 Use the REST API tags endpoint instead.
     105 *
    104106 * @since 3.1.0
    105107 */
    106108function wp_ajax_ajax_tag_search() {
  • src/wp-admin/js/tags-suggest.js

    diff --git src/wp-admin/js/tags-suggest.js src/wp-admin/js/tags-suggest.js
    index a678bdc..5613af2 100644
     
    5353
    5454                                term = getLast( request.term );
    5555
    56                                 $.get( window.ajaxurl, {
    57                                         action: 'ajax-tag-search',
    58                                         tax: taxonomy,
    59                                         q: term
     56                                $.get( window.tagsSuggestL10n.rest_url, {
     57                                        taxonomy: taxonomy,
     58                                        search: term,
     59                                        'action': 'wp-post-tag-search'
    6060                                } ).always( function() {
    6161                                        $element.removeClass( 'ui-autocomplete-loading' ); // UI fails to remove this sometimes?
    6262                                } ).done( function( data ) {
    63                                         var tagName;
    64                                         var tags = [];
    65 
    66                                         if ( data ) {
    67                                                 data = data.split( '\n' );
    68 
    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                                         }
     63                                        cache = data;
     64                                        response( data );
    8365                                } );
    8466
    8567                                last = request.term;
     
    118100                        close: function() {
    119101                                $element.attr( 'aria-expanded', 'false' );
    120102                        },
    121                         minLength: 2,
     103                        minLength: window.tagsSuggestL10n.minChars,
    122104                        position: {
    123105                                my: 'left top+2'
    124106                        },
  • src/wp-includes/post.php

    diff --git src/wp-includes/post.php src/wp-includes/post.php
    index a33236c..afa8af0 100644
    function _filter_query_attachment_filenames( $clauses ) { 
    62196219
    62206220        return $clauses;
    62216221}
     6222
     6223/**
     6224 * Filter fields returned for the post edit tag search.
     6225 *
     6226 * @param WP_REST_Response  $response  The response object.
     6227 *
     6228 * @return WP_REST_Response $response The filtered response object.
     6229 */
     6230function wp_filter_tag_search_in_post_edit( $response ) {
     6231        return  array(
     6232                'id'=>   $response->data['id'],
     6233                'name'=> $response->data['name'],
     6234        );
     6235}
  • src/wp-includes/rest-api.php

    diff --git src/wp-includes/rest-api.php src/wp-includes/rest-api.php
    index e6cdc3a..2b51fe5 100644
    function rest_api_default_filters() { 
    172172        add_filter( 'rest_post_dispatch', 'rest_send_allow_header', 10, 3 );
    173173
    174174        add_filter( 'rest_pre_dispatch', 'rest_handle_options_request', 10, 3 );
     175
     176        // Post tag search filter.
     177        if ( isset( $_GET['action'] ) && 'wp-post-tag-search' === $_GET['action'] ) {
     178                add_filter( 'rest_prepare_post_tag', 'wp_filter_tag_search_in_post_edit' );
     179        }
    175180}
    176181
    177182/**
  • src/wp-includes/script-loader.php

    diff --git src/wp-includes/script-loader.php src/wp-includes/script-loader.php
    index b2e24d6..e01135d 100644
    function wp_default_scripts( &$scripts ) { 
    547547                        'termSelected' => __( 'Term selected.' ),
    548548                        'termAdded'    => __( 'Term added.' ),
    549549                        'termRemoved'  => __( 'Term removed.' ),
     550                        'rest_url'     => rest_url( '/wp/v2/tags' ),
     551                        /**
     552                         * Filters the minimum number of characters required to fire a tag search via Ajax.
     553                         *
     554                         * @since 4.0.0
     555                         *
     556                         * @param int         $characters The minimum number of characters required. Default 2.
     557                         */
     558                        'minChars'     => (int) apply_filters( 'term_search_min_chars', 2 ),
    550559                ) );
    551560
    552561                $scripts->add( 'post', "/wp-admin/js/post$suffix.js", array( 'suggest', 'wp-lists', 'postbox', 'tags-box', 'underscore', 'word-count', 'wp-a11y' ), false, 1 );