WordPress.org

Make WordPress Core

Ticket #22263: post.php.diff

File post.php.diff, 2.2 KB (added by shdbinfo, 18 months ago)

wp-includes/post.php

  • wp-includes/post.php

    old new  
    28502850                if ( $post_name_check || in_array( $slug, $feeds ) || apply_filters( 'wp_unique_post_slug_is_bad_attachment_slug', false, $slug ) ) { 
    28512851                        $suffix = 2; 
    28522852                        do { 
    2853                                 $alt_post_name = substr ($slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix"; 
     2853                                if ( function_exists('mb_strcut') ) { 
     2854                                        $alt_post_name = mb_strcut(urldecode($slug), 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix"; 
     2855                                } else { 
     2856                                        $alt_post_name = substr ($slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix"; 
     2857                                } 
    28542858                                $post_name_check = $wpdb->get_var( $wpdb->prepare($check_sql, $alt_post_name, $post_ID ) ); 
    28552859                                $suffix++; 
    28562860                        } while ( $post_name_check ); 
     
    28652869                if ( $post_name_check || in_array( $slug, $feeds ) || preg_match( "@^($wp_rewrite->pagination_base)?\d+$@", $slug )  || apply_filters( 'wp_unique_post_slug_is_bad_hierarchical_slug', false, $slug, $post_type, $post_parent ) ) { 
    28662870                        $suffix = 2; 
    28672871                        do { 
    2868                                 $alt_post_name = substr( $slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix"; 
     2872                                if ( function_exists('mb_strcut') ) { 
     2873                                        $alt_post_name = mb_strcut( urldecode($slug), 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix"; 
     2874                                } else { 
     2875                                        $alt_post_name = substr( $slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix"; 
     2876                                } 
    28692877                                $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $alt_post_name, $post_ID, $post_parent ) ); 
    28702878                                $suffix++; 
    28712879                        } while ( $post_name_check ); 
     
    28792887                if ( $post_name_check || in_array( $slug, $feeds ) || apply_filters( 'wp_unique_post_slug_is_bad_flat_slug', false, $slug, $post_type ) ) { 
    28802888                        $suffix = 2; 
    28812889                        do { 
    2882                                 $alt_post_name = substr( $slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix"; 
     2890                                if ( function_exists('mb_strcut') ) { 
     2891                                        $alt_post_name = mb_strcut( urldecode($slug), 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix"; 
     2892                                } else { 
     2893                                        $alt_post_name = substr( $slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix"; 
     2894                                } 
    28832895                                $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $alt_post_name, $post_type, $post_ID ) ); 
    28842896                                $suffix++; 
    28852897                        } while ( $post_name_check );