web-dev-qa-db-ja.com

記事(投稿)IDは変わりますか?

だから私はワードプレスのためのプラグイン、そしてそれも初心者に取り組んでいます。ワードプレスの投稿のID、つまりブログ記事のIDを一意の参照IDとして使用する必要があります。または、データベースの用語では一意のキーまたは主キーと言います。

ブログでIDが変わることはありますか?

追加の背景情報..:

私はこの関数を使ってユニークな投稿のIDを取得しています。

the_ID();

また、私のテストサイトのブログ投稿のURLには、番号付きのパラメータ(ID番号?)があります。

?p=87

しかし、タイトルがパラメータp = 87の代わりにURLに含まれているブログを見ました。

関数the_ID();を出力すると、パラメータ番号87が返されます。リンク目的の外部サイト

1
Ihsan

いいえ、変更されませんが、外部サイトを信頼してはいけません。

個々のWordPressサイトのデータベースで純粋に話し合っているなら、

  • それが公開/確立された投稿/ページであるならば、はい、それを削除する以外にIDは変わりません
  • そのリビジョン、ドラフトなどであれば、IDは変わりませんが、それはあまり長くは生き残れません。添付するには不十分なデータです。

その領域の外側に移動すると、データの移植性の領域に入ります。データをエクスポートするかRSSに頼っている場合、投稿IDは利用できず、インポートおよびエクスポートに耐えられません。

だから私は私が….

テーブルの場合は、データベースまたはPost Metaに投稿への参照を格納します。

投稿IDを使用してください。

あなたのWordPressのインストールの外の他のサイト/プログラムの重複を検出するため

ポストGUIDを使用してください。これらはRSSなどを介して渡され、投稿のURLが大きく変更されない限りは同じままにしておく必要があります。

私のコードを入れる

テーマの投稿IDを絶対にハードコードしないでください。それらは、私たちが「マジックバリュー」と呼んでいるものであり、プログラミングにおいて非常に悪い慣例です。 。 WordPressだけでなく、これらを含むすべてのコードは定義上悪いコードです。ペストのようなものは避けてください。

GUIでオプションに保存されている投稿IDを使用してダッシュボード領域に設定するか、既知のスラッグを含む用語で投稿から投稿IDを取得します。

カスタムテーブルまたはカスタムデータストレージの場合

代わりにカスタム分類法ポストメタに頼ることをお勧めします。あなたのカスタムテーブルは、不必要であり、多くのキャッシングメカニズムによって拾われることはないのでパフォーマンスが良くないことの両方である可能性が非常に高いです。

これを行っているのであれば、サイトAの最新のブログ投稿をサイトBのサイドバーにリストすることができます。

それから、あなたはそれらをRSS(おそらくあなたがそれらを適切にスタイルすることができるようにカスタムウィジェットである)を使って引き込むか、またはマルチサイトインストールを使うべきです。

内部的には、常にそのIDで投稿を参照してください

利用規約とカテゴリについて知りたい

同じことが当てはまり、用語IDを内部的に使用し、用語スラッグを外部的に使用します。

URL

あなたはURLを言及しました。 p = 86などの理由は、パーマリンクが有効になっていないためです。

しかし、パーマリンクを有効にしていたとしても、?p = 86というURLは有効です。

例えば。私のサイトのこれらのURLは両方とも機能します。

他の人々のパーマリンクは同じフォーマットをとらないかもしれません。

3
Tom J Nowell

投稿が保存されると、すべてのデータがデータベースに保存され、その特定の投稿に一意のIDが割り当てられます。その投稿のすべての情報と添付ファイルも、その投稿の一意のIDにリンクされています。このIDは変更されることはありません。この投稿は永遠にこのIDを持ちます。投稿が完全に削除されるまで、投稿はこのIDを保持します

2
Pieter Goosen