Make WordPress Core

Ticket #26712: 26712.patch

File 26712.patch, 1.1 KB (added by jfarthing84, 10 years ago)

Check for hierarchical post parent in wp_unique_post_slug

  • wp-includes/post.php

     
    31333133                        return $slug;
    31343134                // Page slugs must be unique within their own trees. Pages are in a separate
    31353135                // namespace than posts so page slugs are allowed to overlap post slugs.
    3136                 $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";
     3136                $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 > 0 AND post_parent = %d ) LIMIT 1";
    31373137                $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug, $post_ID, $post_parent ) );
    31383138
    31393139                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 ) ) {