1001という投稿IDがついた記事が別に存在していて、重複になるので-2が着くのだと思います。
投稿IDとは、記事を編集している時のアドレス(http://ドメイン/wp-admin/post.php?post=1001&action=edit)のpost=1001の部分です。
投稿ID自体はデータベースで同じ番号にならないようになっているので、パーマリンクを数字のみではなく、なにか英字などを含めるほうがお好みの番号でつけられると思います。
nekomimiさん
アドバイスありがとうござます。
早速、wp-admin/post.phpを見てみました。この関係のソースであることが何となく分かりました。
投稿後、数字の頭に何かの英字を付けると-2が付かないことまでは分かっていました。
アドバイスの通り、投稿記事が hellow World 1件あったので完全削除しまた。でも、結果は同じです。下記は、再度試したものです。
▽入力と表示例:
1010 → 1010-2
1011 → 1011-2
1012 → 1012-2
以後、1019まで同じでした。
※なお、d1019 ならd1019 のままで代わりません。
現在投稿記事はゼロで、固定ページも5個程度で試しています。ゴミ箱は完全に空です。
英字を含めるとよいとのアドバイスですが、確かにその通りです。
数字の場合は、どんな値でも存在認識となるようです。英字を含めなくてもOKとなるような、wp-admin/post.phpのソース変更はお気付きでしょうか。解消策の決め手のような気がしています。
〔原因〕post.phpが関与していることは分かりました。ありがとうございます。
投稿IDはデータベース上での主キーになっていてデータそのものを消しても再利用出来ません。
同じものを再利用するためにはMySQLでいろいろ操作しないと無理ですが、そんなことをすると影響が大きすぎるので、通常一度使ったIDは使えない(使わない)のが一般的です。
特にパーマリンクでは設定によって投稿IDそのもので表示することもあります。
ですから「数字のみというのは避けたほうがいい」というのはそういう理由からです。
nekomimiさん
アドバイスありがとうございます。
投稿IDが、MySQLデータベースで主キーになっていて仮に投稿を削除してもそれは残っているということですね。
何となく分かりました。疑問なのは、投稿は当初のHellowWorld 1件ののみでそれ以外は無いことは確かです。
因みに、88888や99999と入力しても-2が付きました。
となると、理解できない話ではありますがMySQL データベース上でこの主キーを予約しているという形といえます。結果としててす。でも、テーブル上でこのようなことは在り得ないことです。
となると、やはりPHP判定の誤りしか考えられません。
こんな、初歩的なことは未だに残っているのも考えずらいことですし・・・
でも、数字のみのパーマリンクにこだわっている訳ではありませんが・・・
結局は、わかりません。
もしかして、MySQL のテーブルを直接覗けばヒントがあるかも知れないのですが、これは経験がありません。
minami2013です。
数字のパーマリンクに枝番が付く件の自己解決です。
結論は、nekomimiさんにアドバイスを頂戴の通り英字と数字混在のパーマリンクとします。
原因ですが、調べていたところ「http://www.example.com/wp-includes/post.php
」の2800行付近に下記のwp_unique_post_slugコードが見つかりした。最後の行が関係していそうです。しかし、ここはシステムコア領域のためユーザーメンテは避けるべきと思われます。
▽関連コード
$post_name = wp_unique_post_slug($post_name, $post_ID, $post_status, $post_type, $post_parent);
// expected_slashed (everything!)
$data = compact( array( ‘post_author’, ‘post_date’, ‘post_date_gmt’, (以下省略)
$data = apply_filters(‘wp_insert_post_data’, $data, $postarr);
$data = wp_unslash( $data );
$where = array( ‘ID’ => $post_ID );