WordPress.org

Make WordPress Core

Ticket #19292: 19292.3.diff

File 19292.3.diff, 2.7 KB (added by nacin, 2 years ago)

uses old-save instead of query, cleans up docs.

  • wp-includes/post.php

     
    24902490                else 
    24912491                        $post_name = ''; 
    24922492        } else { 
    2493                 $post_name = sanitize_title($post_name); 
     2493                // On updates, we need to check to see if it's using the old, fixed sanitization context. 
     2494                $check_name = sanitize_title( $post_name, '', 'old-save' ); 
     2495                if ( $update && strtolower( urlencode( $post_name ) ) == $check_name && get_post_field( 'post_name', $ID ) == $check_name ) 
     2496                        $post_name = $check_name; 
     2497                else // new post, or slug has changed. 
     2498                        $post_name = sanitize_title($post_name); 
    24942499        } 
    24952500 
    24962501        // If the post date is empty (due to having been new or a draft) and status is not 'draft' or 'pending', set date to now 
     
    31533158        $page_path = str_replace('%20', ' ', $page_path); 
    31543159        $parts = explode( '/', trim( $page_path, '/' ) ); 
    31553160        $parts = array_map( 'esc_sql', $parts ); 
    3156         $parts = array_map( 'sanitize_title', $parts ); 
     3161        $parts = array_map( 'sanitize_title_for_query', $parts ); 
    31573162 
    31583163        $in_string = "'". implode( "','", $parts ) . "'"; 
    31593164        $post_type_sql = $post_type; 
  • wp-includes/query.php

     
    18381838                } 
    18391839 
    18401840                if ( !empty($q['tag_slug__in']) ) { 
    1841                         $q['tag_slug__in'] = array_map('sanitize_title', array_unique( (array) $q['tag_slug__in'] ) ); 
     1841                        $q['tag_slug__in'] = array_map('sanitize_title_for_query', array_unique( (array) $q['tag_slug__in'] ) ); 
    18421842                        $tax_query[] = array( 
    18431843                                'taxonomy' => 'post_tag', 
    18441844                                'terms' => $q['tag_slug__in'], 
     
    18471847                } 
    18481848 
    18491849                if ( !empty($q['tag_slug__and']) ) { 
    1850                         $q['tag_slug__and'] = array_map('sanitize_title', array_unique( (array) $q['tag_slug__and'] ) ); 
     1850                        $q['tag_slug__and'] = array_map('sanitize_title_for_query', array_unique( (array) $q['tag_slug__and'] ) ); 
    18511851                        $tax_query[] = array( 
    18521852                                'taxonomy' => 'post_tag', 
    18531853                                'terms' => $q['tag_slug__and'], 
  • wp-admin/js/post.dev.js

     
    547547                        b.html('<a href="#" class="save button">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+'</a>'); 
    548548                        b.children('.save').click(function() { 
    549549                                var new_slug = e.children('input').val(); 
     550                                if ( new_slug == $('#editable-post-name-full').text() ) { 
     551                                        return $('.cancel', '#edit-slug-buttons').click(); 
     552                                } 
    550553                                $.post(ajaxurl, { 
    551554                                        action: 'sample-permalink', 
    552555                                        post_id: post_id,