web-dev-qa-db-ja.com

ナメクジはユニークでなくればなりませんか?

他のURLに関係なく、または異なる投稿タイプや分類法で使用されている場合でも、ナメクジは常に一意である必要がありますか

たとえば、両方のURLを持つことは可能ですか。

mysite.com/industry/biotech/report/
mysite.com/industry/retail/report/

ありがとう、トッド

7
tzeldin88

wp_unique_term_slug() :に

スラグはすべての分類法に対してグローバルに一意である必要があります。つまり、1つの分類法用語が別の分類法用語と一致するスラグを持つことはできません。各ナメクジは、すべての分類法に対してグローバルに一意である必要があります。

wp_unique_post_slug() :に

@param string $ post_status投稿がまだ下書きまたは保留中の場合、一意性チェックは行われません[…]

アタッチメントナメクジはすべてのタイプにわたってユニークでなければなりません。 […]

ページナメクジは自分の木の中でユニークでなければなりません。ページは投稿とは別の名前空間にあるため、ページスラッグは投稿スラッグと重なることが許可されています。 […]

投稿ナメクジはすべての投稿にわたって一意である必要があります[…]

必要に応じて、投稿のステータスがpublishに変更されたとき、またはPagesがページツリー間で移動されたときに、WordPressは投稿のスラッグを修正して一意性を強制します。

未確認ですが、私は覚えているようです:

  • WordPressは時々スラッグを増加させ(hello-world-2)、時々それらを切り捨てて(hello-worl!)一意性を強制します
  • ゴミ箱の投稿のナメクジを再び利用できるようにするには、ゴミ箱を空にする必要があります。
7
sam

これは古い投稿ですが、ここには間違った情報があると思います。私は、異なるカスタム投稿タイプと分類法の間のナメクジと衝突していて、それをよりよく理解するためにそれについていくらか読むことをすることにしました。

私はWordPress 4.2.2を使用しています、そして私は同じスラッグで異なる投稿タイプを作成することができます。どうやらこれは追跡されている既知の問題です。ただし、スラッグの一意性に関する規則がどのようなものであるかは不明です。

https://core.trac.wordpress.org/ticket/13459

私にとって最も理にかなっているのは、ポストスラッグはポストタイプ(ページ、ポスト、CPT)間で一意である必要があり、分類スラッグは分類法間で一意である必要があるということです。しかし、現在のバージョン4.2.2ではこれらは当てはまりません。私は知らないうちにそれを使って作業しなければならないでしょう。

2
TuninTuna

はい、投稿スラッグは投稿タイプに関係なく一意である必要があります。データベースレベルで実施されます。ナメクジの場合も同じです。

私は彼らがそれらの間でユニークである必要はないと思います。すなわちあなたは「レポート」投稿と「レポート」用語を持つことができます。

あなたの例でパーマリンクの種類を得るために、しかし、あなたはおそらく同じスラグで複数の投稿を作成する必要はありません。 /report/で終わり、他のものにマップされるカスタムの書き換え規則が必要です。

1
scribu