パーマリンク構造を各投稿のシーケンシャル番号に変更しますか?
-
16-10-2019 - |
質問
ブログにドラフトを作成したばかりで、それは投稿IDです。別のドラフトを作成した後、この最後の投稿の投稿IDは3です。私はそれらを連続して見ることを望んでいたので、将来的には私は次のように素敵な自動インクリメント番号を持っています
../archives/1
../archives/2
数ヶ月後...
../archives/154
../archives/155
私はコードに飛び込むのに問題はありませんが、誰かがこれを達成するための簡単な解決策を知っているのではないかと思っていました。
ありがとうございました。
解決
投稿のIDは、ポストNの場合、次の投稿がn+1であるという意味で、シーケンス番号であることを意図したものではありません。 IDは、ポストテーブルの自動押収フィールドです。これには、公開されていない投稿、ドラフト、ページ、添付ファイルなどの多くのものが含まれます。そのため、WordPressにそのフィールドにシーケンシャルIDを割り当てるように強制する方法はありません。
シーケンス番号を作成してPermalink構造で使用する方法はありますが、効率的なシステムでは、IDを別の場所(テーブルまたはオプション)に保存し、カスタム書き換えプラグインを書き込むことが含まれます。その最後のビットは非常に進んでいます。
経験豊富なハッカーにとって、パフォーマンスの大幅な劣化なしにこの問題を解決するプラグインを作成することは興味深い問題です。
他のヒント
ページと投稿がIDを共有するので、それがうまくいくと思います
また - SEOの最良のパーマリンク構造は、そこに投稿名を含めることです
他の人が説明したように、ポストIDはデータベース内の自動増入フィールドであるため、他の方法では制御できません。パーマリンクでこれを使用したくないことは明らかです。
プラグインとカスタムフィールドはオプションですが、「裸の」番号は、WordPressによって投稿IDまたは年や日付のようなその他の内部番号として誤解される可能性があるため、推奨されません。
カスタムフィールドやプラグインを必要としないよりシンプルなソリューションは、各投稿のポストスラグを編集し、一定のアルファベット順のプレフィックスが先行するシーケンシャル番号を付けることです。
たとえば、代わりに:
../archives/1
../archives/2
...
../archives/x
使用する:
../archives/p1
../archives/p2
...
../archives/px
パーマリンク構造を変更すると、これを短縮することもできます。
../p1
../p2
...
../px
「P」を「Day1」や「Deep-Thought-1」など、好きなものに置き換えることができます。