Przepisz Slug dla stron archiwum CPT na liczbę mnogą Slug


11

Mam niestandardowy typ posta z przepisanym ślimakiem plugintworzenia struktury adresu URL http://site.com/plugin/plugin-slug/ . Co sprawia, że ​​CPT Archive to http://site.com/plugin/

Chciałbym go przepisać bez użycia strony i niestandardowego szablonu strony, aby użyć http://site.com/plugins/ (który jest labels=>Namew CPT). przy jednoczesnym zachowaniu informacji o pojedynczych postach, ponieważ /plugin/ To także musiałoby obsługiwać takie rzeczy jak `/ plugins / page / 21 - co obecnie robi.

Odpowiedzi:


21

Kiedy rejestrujesz typ postu, ustaw argument 'has_archive'w łańcuchu, w twoim przypadku plugins.

Blok doc dla register_post_type()mówi:

@type bool|string $has_archive
Niezależnie od tego, czy powinny istnieć archiwa typu post, czy też ciąg znaków, archiwum powinno być używane. Wygeneruje odpowiednie reguły przepisywania, jeśli $rewritejest włączone. Domyślnie false.

Zminimalizowany przykład:

register_post_type( 'plugin', [ 'has_archive' => 'plugins' ] );

6
Aby odświeżyć reguły przepisywania niestandardowego typu wpisu, który aktualizujesz, przejdź do Ustawienia> Łącza bezpośrednie . Na podstawie powyższego przykładu, jeśli tego nie zrobisz, /pluginnadal będzie to archiwum i /pluginsnie będzie jeszcze działać.
Mark Rummel,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.