WordPressで同じようなタイトルの記事を投稿しようとする際にエラーになる件について
現行の2.7あたりだと大丈夫なのですが、
- 2.3.3からアップグレードしたWPで日本語または英語の重複タイトルを送信
- 新規インストールのWP 2.5で日本語の重複タイトルを送信
などの条件が重なると無限ループに陥るようです。
この場合、以下のように修正したら大丈夫でした。
wp-includes/post.phpの1269〜1279行目あたり
<?php if ($post_name_check || in_array($post_name, $wp_rewrite->feeds) ) { $suffix = 2; do { $alt_post_name = substr($post_name, 0, 200-(strlen($suffix)+1)). "-$suffix"; $alt_post_name = urldecode ($alt_post_name); //追加 // expected_slashed ($alt_post_name, $post_name, $post_type) $post_name_check = $wpdb->get_var($wpdb->prepare("SELECT post_name FROM $wpdb->posts WHERE post_name = '$alt_post_name' AND post_type = '$post_type' AND ID != %d AND post_parent = %d LIMIT 1", $post_ID, $post_parent)); $suffix++; } while ($post_name_check); $post_name =urlencode($alt_post_name); //変更 } ?>
同一のタイトルであるかのチェックをしているループの部分が抜けれないために、無限ループに陥っているようです。
なお、現状の2.7では修正されているようです。