Reescrever Slug para páginas de arquivo CPT no nome plural de Slug

11

Eu tenho um tipo de postagem personalizado com a lesma reescrita de plugincriação da estrutura de URL de http://site.com/plugin/plugin-slug/ . O que torna o arquivo CPT como http://site.com/plugin/

Gostaria de reescrevê-lo, sem usar uma página e um modelo de página personalizado, para usar http://site.com/plugins/ (que está labels=>Nameno CPT). mantendo a lesma para os posts únicos, pois /plugin/ isso também precisaria suportar coisas como `/ plugins / page / 21 - o que atualmente faz.

alpha1
fonte

Respostas:

21

Ao registrar o tipo de postagem, defina o argumento 'has_archive'como uma sequência, no seu caso plugins.

O bloco de documentos para register_post_type()diz:

@type bool|string $has_archive
Se deve haver arquivos de tipo de postagem ou se uma sequência, a lesma de arquivo a ser usada. Irá gerar as regras de reescrita adequadas se $rewriteestiver ativado. Padrão false.

Exemplo reduzido:

register_post_type( 'plugin', [ 'has_archive' => 'plugins' ] );
fuxia
fonte
6
Para atualizar as regras de reescrita para um tipo de postagem personalizado que você está atualizando, visite Configurações> Links permanentes . Com base no exemplo acima, se você não fizer isso, /pluginainda será o arquivo morto e /pluginsainda não funcionará.
Mark Rummel