Changeset 3277

Show
Ignore:
Timestamp:
12/07/05 19:02:05 (3 years ago)
Author:
ryan
Message:

Make page slugs unique. Props skeltoac. fixes #2034

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/wp-includes/functions-post.php

    r3267 r3277  
    9999        $post_password = ''; 
    100100 
    101     if ('publish' == $post_status) { 
    102         $post_name_check = $wpdb->get_var("SELECT post_name FROM $wpdb->posts WHERE post_name = '$post_name' AND post_status = 'publish' AND ID != '$post_ID' LIMIT 1"); 
     101    if ( ('publish' == $post_status) || ('static' == $post_status) ) { 
     102        $post_name_check = ('publish' == $post_status) 
     103            ? $wpdb->get_var("SELECT post_name FROM $wpdb->posts WHERE post_name = '$post_name' AND post_status = 'publish' AND ID != '$post_ID' LIMIT 1") 
     104            : $wpdb->get_var("SELECT post_name FROM $wpdb->posts WHERE post_name = '$post_name' AND post_status = 'static' AND ID != '$post_ID' AND post_parent = '$post_parent' LIMIT 1"); 
     105 
    103106        if ($post_name_check) { 
    104107            $suffix = 2; 
    105108            while ($post_name_check) { 
    106109                $alt_post_name = $post_name . "-$suffix"; 
    107                 $post_name_check = $wpdb->get_var("SELECT post_name FROM $wpdb->posts WHERE post_name = '$alt_post_name' AND post_status = 'publish' AND ID != '$post_ID' LIMIT 1"); 
     110                $post_name_check = ('publish' == $post_status) 
     111                    ? $wpdb->get_var("SELECT post_name FROM $wpdb->posts WHERE post_name = '$alt_post_name' AND post_status = 'publish' AND ID != '$post_ID' LIMIT 1") 
     112                    : $wpdb->get_var("SELECT post_name FROM $wpdb->posts WHERE post_name = '$alt_post_name' AND post_status = 'static' AND ID != '$post_ID' AND post_parent = '$post_parent' LIMIT 1"); 
    108113                $suffix++; 
    109114            }