Переписать слаг для страниц архива CPT на множественное имя слаг

11

У меня есть пользовательский тип записи с переписанным слагом для pluginсоздания структуры URL http://site.com/plugin/plugin-slug/ . Что делает архив CPT как http://site.com/plugin/

Я хотел бы переписать его, не используя страницу и пользовательский шаблон страницы, чтобы использовать http://site.com/plugins/ (который включен labels=>Nameв CPT). сохраняя слаг для отдельных постов, так как /plugin/ это также должно поддерживать такие вещи, как `/ plugins / page / 21 - что он и делает в настоящее время.

alpha1
источник

Ответы:

21

Когда вы регистрируете тип записи, установите аргумент 'has_archive'в строку, в вашем случае plugins.

Блок документов для register_post_type()говорит:

@type bool|string $has_archive
Должны ли быть архивы пост-типа, или, если это строка, архивная ветка для использования. Сгенерирует правильные правила перезаписи, если $rewriteвключено. По умолчанию false.

Минимизированный пример:

register_post_type( 'plugin', [ 'has_archive' => 'plugins' ] );
Фуксия
источник
6
Чтобы обновить правила перезаписи для обновляемого настраиваемого типа публикации, выберите «Настройки»> «Постоянные ссылки» . На основании приведенного выше примера, если вы этого не сделаете, /pluginвсе равно будет архивным слагом и /pluginsпока не будет работать.
Марк Раммель