Ticket #18962: wp-includes_post.diff
File wp-includes_post.diff, 1.5 KB (added by , 12 years ago) |
---|
-
post.php
3065 3065 return $slug; 3066 3066 // Page slugs must be unique within their own trees. Pages are in a separate 3067 3067 // namespace than posts so page slugs are allowed to overlap post slugs. 3068 $check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type IN ( '" . implode( "', '", esc_sql( $hierarchical_post_types ) ) . "' )AND ID != %d AND post_parent = %d LIMIT 1";3069 $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug, $post_ ID, $post_parent ) );3068 $check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type = %s AND ID != %d AND post_parent = %d LIMIT 1"; 3069 $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug, $post_type, $post_ID, $post_parent ) ); 3070 3070 3071 3071 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 ) ) { 3072 3072 $suffix = 2; 3073 3073 do { 3074 3074 $alt_post_name = _truncate_post_slug( $slug, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix"; 3075 $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $alt_post_name, $post_ ID, $post_parent ) );3075 $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $alt_post_name, $post_type, $post_ID, $post_parent ) ); 3076 3076 $suffix++; 3077 3077 } while ( $post_name_check ); 3078 3078 $slug = $alt_post_name;