追加です。
デフォルトの状態では、半角英数ならOKですが、日本語でエラーなりました。
wp-includes/post.phpの1269~1279行目あたりに、
urlencode、urldecodeを追加・変更することで解消しました。
※さっきのコメントアウトする話は無しです。
私の環境は、文字コード:UTF-8、サーバー:coreserverです。
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); //★変更
}
wp-includes/post.phpの1266行目以降の処理で、
同一投稿名だと、投稿名のうしろに番号を振る処理がされており、
同一投稿名があるかどうかチェックする処理をしているようですが、
そこのループが抜けれないようです。
多少修正すれば解決しそうですが、暫定処理として、
1266~1279あたりの処理をコメントアウトなりすれば、
同一投稿名として(うしろに番号をつける処理をしない)投稿できました。
/*
if ( 'draft' != $post_status ) {
...
}
*/