So entfernen Sie ein benutzerdefiniertes Beitragstyp-Archiv

17

Ich habe einen benutzerdefinierten Beitragstyp namens "Rezept" mit dem has_archiveParameter auf true gesetzt. Unter mysite.com/recipe/ finden Sie eine grundlegende Archivliste aller bereitgestellten Rezepte sowie den Seitentitel "Recipes". So weit, ist es gut.

Jetzt möchte ich diese Rezeptarchivseite deaktivieren (aber die einzelnen Rezeptlinks funktionieren weiterhin). Mein erster Gedanke war, zu versuchen, has_archiveauf false zu setzen. Nee. Der einzige Unterschied ist der Seitentitel, der aus irgendeinem Grund zum Namen der Site wird. Das aktuelle Archiv wird weiterhin angezeigt.

Was ist der beste Weg, um dieses Archiv tatsächlich vollständig zu entfernen? Gibt es einen Parameter register_post_type, mit dem dies erreicht werden kann, oder ist dies unmöglich und liegt eine benutzerdefinierte Seitenvorlage mit einer Umleitung vor?

Vielen Dank.

Shellbot
quelle
1
Haben Sie Ihre Umschreiberegeln nach dem Festlegen gelöscht 'has_archive' => false?
Chip Bennett
Guter Punkt @ChipBennett, habe ich nicht! Funktioniert jetzt wie erwartet, danke :)
Shellbot

Antworten:

29

Der has_archiveParameter für register_post_type()tut genau das, was Sie von ihm erwarten. Beim Festlegen werden jedoch die Umschreibregeln geändert. Wenn Sie dies ändern false, müssen Sie Ihre Umschreiberegeln leeren , damit die Anzeige des Archivindex vollständig entfernt wird.

Chip Bennett
quelle
Hinweis: Dies muss nur einmal durchgeführt werden. Eine einfache Möglichkeit, dies zu tun, ist beispielsweise, Einstellungen-> Permalinks aufzurufen und die aktuellen Einstellungen erneut zu speichern. Dadurch werden die Umschreiberegeln gelöscht.
Nico
3
Beachten Sie, dass dadurch Archive nicht deaktiviert werden. Es deaktiviert nur die hübsche URL für den Zugriff darauf ( mysite.com/recipe/in diesem Beispiel). Das Archiv existiert noch und ist erreichbar, mysite.com/?post_type=recipesolange der Beitragstyp öffentlich abfragbar ist.
Mark