| 1 | Index: wp-includes/post.php |
|---|
| 2 | =================================================================== |
|---|
| 3 | --- wp-includes/post.php (revision 17643) |
|---|
| 4 | +++ wp-includes/post.php (working copy) |
|---|
| 5 | @@ -2796,7 +2796,7 @@ |
|---|
| 6 | } elseif ( in_array( $post_type, $hierarchical_post_types ) ) { |
|---|
| 7 | // Page slugs must be unique within their own trees. Pages are in a separate |
|---|
| 8 | // namespace than posts so page slugs are allowed to overlap post slugs. |
|---|
| 9 | - $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"; |
|---|
| 10 | + $check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type IN ( '" . implode( "', '", esc_sql( $hierarchical_post_types ) ) . "', 'attachment' ) AND ID != %d AND post_parent = %d LIMIT 1"; |
|---|
| 11 | $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug, $post_ID, $post_parent ) ); |
|---|
| 12 | |
|---|
| 13 | 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 ) ) { |
|---|
| 14 | @@ -2810,7 +2810,7 @@ |
|---|
| 15 | } |
|---|
| 16 | } else { |
|---|
| 17 | // Post slugs must be unique across all posts. |
|---|
| 18 | - $check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type = %s AND ID != %d LIMIT 1"; |
|---|
| 19 | + $check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND (post_type = %s OR post_type = 'attachment') AND ID != %d LIMIT 1"; |
|---|
| 20 | $post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug, $post_type, $post_ID ) ); |
|---|
| 21 | |
|---|
| 22 | if ( $post_name_check || in_array( $slug, $feeds ) || apply_filters( 'wp_unique_post_slug_is_bad_flat_slug', false, $slug, $post_type ) ) { |
|---|