Müssen Schnecken einzigartig sein?

7

Stimmt es, dass Slugs immer eindeutig sein müssen, unabhängig vom Rest der URL, oder ob sie von verschiedenen Post-Typen oder Taxonomien verwendet werden?

Ist es beispielsweise möglich, beide URLs zu haben?

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

Danke, Todd

tzeldin88
quelle

Antworten:

7

In wp_unique_term_slug () :

Der $ slug muss für jede Taxonomie global eindeutig sein, was bedeutet, dass ein Taxonomiebegriff keinen passenden Slug mit einem anderen Taxonomiebegriff haben kann. Jede Schnecke muss für jede Taxonomie global einzigartig sein.

In wp_unique_post_slug () :

@param string $ post_status Es werden keine Eindeutigkeitsprüfungen durchgeführt, wenn der Beitrag noch eingezogen ist oder aussteht […]

Anhangsschnecken müssen für alle Typen eindeutig sein. […]

Seitenschnecken müssen innerhalb ihrer eigenen Bäume eindeutig sein. Seiten befinden sich in einem separaten Namespace als Posts, sodass Seiten-Slugs Post-Slugs überlappen dürfen. […]

Post-Slugs müssen für alle Posts eindeutig sein […]

WordPress ändert Post-Slugs, um die Eindeutigkeit bei Bedarf zu erzwingen, wenn sich der Status eines Posts in ändert publishoder wenn Seiten zwischen Seitenbäumen verschoben werden. Wenn Sie dies vermeiden möchten, versuchen Sie am besten, selbst eindeutige Slugs zu schreiben.

Unbestätigt, aber ich scheine mich zu erinnern:

  • WordPress erhöht manchmal slugs ( hello-world-2) und schneidet sie manchmal ( hello-worl!) Ab, um die Eindeutigkeit zu erzwingen
  • Sie müssen den Papierkorb leeren, um die Schnecken der Papierkorbposts wieder verfügbar zu machen.
Sam
quelle
2

Ich weiß, dass dies ein alter Beitrag ist, aber ich denke, dass es hier falsche Informationen gibt. Ich hatte Konflikte mit Schnecken zwischen verschiedenen benutzerdefinierten Beitragstypen und Taxonomien und beschloss, etwas darüber zu lesen, um es besser zu verstehen.

Ich verwende WordPress 4.2.2 und kann verschiedene Beitragstypen mit demselben Slug erstellen. Anscheinend ist dies ein bekanntes Problem, das verfolgt wird. Es ist jedoch unklar, welche Regeln für die Einzigartigkeit von Schnecken gelten.

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

Was für mich am sinnvollsten ist, ist, dass Post-Slugs unter den Post-Typen (Seiten, Posts, CPTs) eindeutig sein müssen und Taxonomie-Slugs unter Taxonomien eindeutig sein müssen. Derzeit gelten diese jedoch nicht für Versionen 4.2.2. Ich denke, ich muss einfach damit arbeiten, ohne es zu wissen.

ColdTuna
quelle
1

Ja, Post-Slugs müssen unabhängig vom Post-Typ eindeutig sein. Es wird auf Datenbankebene erzwungen. Gleiches gilt für Begriff Schnecken.

Ich denke nicht, dass sie zwischen ihnen einzigartig sein müssen. Das heißt, Sie können einen "Bericht" -Post und einen "Bericht" -Begriff haben.

Um die Art von Permalinks in Ihrem Beispiel zu erhalten, müssen Sie wahrscheinlich nicht mehrere Posts mit demselben Slug erstellen. Sie benötigen lediglich eine benutzerdefinierte Umschreiberegel, die mit /report/etwas anderem endet und diesem zugeordnet wird.

Scribu
quelle
Ah danke! Ich bin noch nicht wirklich mit benutzerdefinierten Umschreiberegeln in wp vertraut, hatte also nicht einmal an diesen Ansatz gedacht. Ich werde mich darum kümmern. Aber ich frage mich nur, ob es eine schnelle Antwort darauf gibt, wie diese URLs mit benutzerdefinierten Umschreiberegeln erstellt werden können.
Tzeldin88
Ich stimme dir nicht zu. Ich schaue mir gerade einen Beitrag und eine Seite mit der gleichen Schnecke an ... keine Probleme. Der Beitrag hat ein Datum / einen Post-Slug und die Seite hat nur einen / Post-Slug-Permalink.
AlxVallejo
Schnecken müssen je nach Hierarchie nicht eindeutig sein, aber es ist eine wirklich gute Idee, sie einzigartig zu machen.
JCL1178