Mam niestandardowy typ postu o nazwie „przepis” z has_archive
parametrem ustawionym na true. Odwiedzając stronę mysite.com/recipe/, uzyskujesz podstawową listę archiwalną wszystkich opublikowanych przepisów oraz tytuł strony „Przepisy”. Jak na razie dobrze.
Teraz chcę wyłączyć tę stronę archiwum przepisów (ale utrzymuj działanie poszczególnych linków do przepisów). Moją pierwszą myślą było spróbowanie ustawienia wartości has_archive
false, co brzmi jak powinno wystarczyć. Nie. Jedyną różnicą, jaką to robi, jest tytuł strony, który z jakiegoś powodu staje się nazwą strony. Rzeczywiste archiwum jest nadal wyświetlane.
Jaki jest najlepszy sposób całkowitego usunięcia tego archiwum? Czy jest jakiś parametr, register_post_type
który to osiągnie, czy jest to niemożliwe i przypadek niestandardowego szablonu strony z przekierowaniem?
Dzięki.
'has_archive' => false
?Odpowiedzi:
has_archive
Parametrregister_post_type()
robi dokładnie to, czego od niego oczekujesz. Jednak modyfikuje reguły przepisywania po ustawieniu. Jeśli więc zmienisz nafalse
, musisz opróżnić reguły przepisywania , aby całkowicie usunąć indeks indeksu archiwum.źródło
mysite.com/recipe/
w tym przykładzie). Archiwum nadal istnieje i jest dostępne, omysite.com/?post_type=recipe
ile typ wiadomości jest publicznie dostępny w zapytaniach.